Quality Assurance in Agent-Based Systems

Transcription

Quality Assurance in Agent-Based Systems
Quality Assurance in Agent-Based Systems
Current State and Open Problems
Preprint Nr. 4, 2002
Cornelius Wille, Reiner R. Dumke, Stanimir Stojanov*)
Otto-von-Guericke-Universität Magdeburg, , Postfach 4120,
D-39016 Magdeburg, Germany, Tel.: +49-391-67-18664, Fax: +49-391-67-12810,
Email: {dumke, wille}@ivs.cs.uni-magdeburg.de
*)
University of Plovdiv, Dept. of Mathematics and Informatics,
4000 Plovdiv, 236 Bulgaria blv., Bulgaria
Email: [email protected]
Contents
1
Introduction ............................................................................................................. 1
1.1
Software Quality and Agent-based Systems ................................................................ 1
1.2
Foundations on Agent-based Systems.......................................................................... 5
1.2.1 Software Agents ........................................................................................................... 5
1.2.2 Multi-Agent Systems (MAS) ....................................................................................... 8
1.2.3 Agent Communication ................................................................................................. 9
1.2.4 Agent Interaction and Co-operation............................................................................. 17
1.2.5 Agent Minds, Intentions, Motivations and Negotiations
20
1.2.6 Agent Mobility ............................................................................................................. 26
1.2.7 Agent Communities and Organisations........................................................................ 27
1.2.8 MAS Architectures....................................................................................................... 30
1.3
The MAS Development Process .................................................................................. 41
1.3.1 MAS Development Methodologies.............................................................................. 41
1.3.2 MAS Specification ....................................................................................................... 52
1.3.3 MAS Design and Implementation................................................................................ 56
2
2.1
2.2
2.3
2.4
Evaluation und Measurement Aspects of Agent-based Systems .......... 60
3
Agent Types ............................................................................................................. 68
4
Acronyms.................................................................................................................. 70
5
MAS Web Links..................................................................................................... 73
6
References ................................................................................................................ 75
Empirical Aspects of Agent-based Systems................................................................. 60
Experiences of Agent-based System Development...................................................... 62
Related Work in Measurement of Software Agent and Agent-based Systems ............ 63
Open Problems and Intentions of Quality Assurance in MAS..................................... 66
1
1 INTRODUCTION
1.1 Software Quality and Agent-based Systems
In introducing new techniques or technologies, the main aspects of investigation are addressed
to their functionality in the new application area and are based on the experimentation with
new paradigms (tools, languages, middleware and architectures). Software Agents provide
new means to implement flexible and intelligent communication systems with an autonomous
aspect of sensoring, understanding, negotiation, decision, and action. But, like in the objectoriented software development, that will be understood just now with help of more and more
quantified experience in the area of software agents we can only establish some special
remarks about complexity or efficiency (“Thus it is already a good bet that the software
engineering of tomorrow will be ‘agent-oriented’, just as that of today is beginning to be
‘object-oriented’.” [Ferber 99, p. 8]). The conversion shift from an object to an agent is
shown in a simplified manner in Figure 1.
Agent
memories, knowledge,
skill, character
Object/Class
memories
features,
adaptation,
negotiation, learning,
action, co-operation
features
Figure 1: Main characteristics of an object/class and an agent
Wooldridge et al. [Wooldridge 01] describe the difference between objects and agents in the
following manner (see also [Brenner 98] and [Murch 00])
•
•
•
agents embody stronger notion of autonomy than objects, and in particular, they decide for
themselves whether or not to perform an action or request from another agent;
agents are capable of flexible (reactive, pro-active, social) behavior, and the standard
object model has nothing to say about such types of behavior;
a multi-agent system is inherently multi-threaded, in that each agent is assumed to have at
least one thread of control.
[Huhns 01] characterises the difference of essential aspects of the programming features and
paradigms as following.
Concept
Abstraction
Building Blocks
Computation Model
Design Paradigm
Architecture
Models of Behaviour
Terminology
Object language
Class
Object
Method/Message
Interaction Patterns
Inheritance and Polymorphism
Designing and Using
Engineer
Multiagent language
Society
Agent
Perceive/Reason/Act
Co-operative Interaction
Managers, Assistants, and Peers
Enabling and Enacting
Activate
Table 1: Features of programming languages and paradigms
2
The mapping between object-oriented programming (OOP) and agent-oriented programming
(AOP) is given in [Lind 01] as described in the following table.
Characteristic
Structural
Elements
Relations
OOP
abstract class
class
class variables
methods
collaboration (uses)
composition (has)
inheritance (is)
instantiation
AOP
generic role
domain specific role
knowledge, belief
capabilities
negotiation
holonic agents
role multiplicity
domain-specific role + individual
knowledge
service matchmaking
polymorphism
Table 2: Mapping OOP to AOP
Obviously, we can establish a more complex structure or architecture of such agent-based
systems. Moreover:
•
•
•
•
How can we use some experience in software measurement and evaluation of the
object-oriented software development?
Which kinds and contents are the new measurement aspects for agent-based
systems?
Which characteristics of software agents are measurable and which of them
should be measured necessarily?
How can we install measurement aspects in agent-based systems to control the
efficiency of software agents?
A lot of questions and problems exist in the development of agent-based systems and there are
not enough satisfying answers now. [Jennings 98, p. 19] writes: “There is little in the way of
production-quality software support for building agent applications, and still less general
understanding of the issues that need to be addressed when building such systems. Worse,
most of today’s agent systems are built from scratch, using bespoke tools and techniques,
which cannot easily be applied to other types of systems. This is particularly worrying
because a lot of infrastructure is required before the main components of an agent system can
be built. At the moment, most developers rebuild this infrastructure from scratch in every new
case; this process is clearly not sustainable.”
Software measurement and evaluation as a key technology for software quality assurance
should consider the following components and aspects of agent-based systems:
•
•
•
The analysis and evaluation of the product characteristics of an agent-based
system such as architecture, design artefacts, code, documentation and run time
aspects,
The investigation of the agent-based system development process in the different
parts of life cycle characteristics and management aspects,
The consideration of the resources which are necessary to develop and maintain
agent-based systems and are divided in personnel, software and hardware
resources.
3
However, the metrics situation in the OOSE area has not changed essentially since the
following study from 1997 [Dumke 97]. The charts below characterise the facilities and the
situation in the OO metrics area. Note, that the charts provide only an approximate overview
about the metrics situation. We use pc for the process metrics, pr for the product metrics, and
rs for the resources metrics.
System Model Granularity
Class
#metrics
Component
#metrics
OO System
#metrics
50
50
50
40
40
40
30
30
30
20
20
20
10
10
10
pc
pr
rs
pc
pr
rs
pc
pr
rs
Life Cycle Phase Related
OOA
#metrics
OOD
#metrics
OOP
#metrics
50
50
50
40
40
40
30
30
30
20
20
20
10
10
10
pc
pr
rs
pc
pr
rs
pc
pr
rs
Measurement Area Related
(Model-based) Metrics
(Empirical-based) Measures
#metrics
#metrics
50
50
40
40
30
30
20
20
10
10
pc
pr
rs
pc
pr
rs
Figure 2: Situation of OO software metrics
Currently, software agents are a new technique without detailed quantified knowledge about
the technology. This paper will give first ideas of possible aspects in software quality
assurance of agent-based systems.
4
1.2 Foundations on Agent-based Systems
In the field of software agents, we have to consider a sharp increase of knowledge and
applications. Interesting areas of agent applications are (see also [Jennings 98])
•
•
•
•
solving new types of problems such as open systems, complex system and
ubiquity,
improving the efficiency of software development through distribution of data,
control, expertise or resources,
industrial applications like process control, manufacturing, air traffic control,
information management, electronic commerce, and health care,
entertainment on the area of distributed games, interactive theatre and cinema.
We try to give an overview of the area of software agents that is required to explain and to
define the software quality assurance aspects.
1.2.1 Software Agents
We are agree with the definition of software agents by [Maes 94]: “Autonomous agents are
computational systems that inhabit some complex dynamic environment, sense and act
autonomously in this environment, and by doing so realise a set of goals or tasks for which
they are designed.” This definition considers the important aspects of software agents and
their environment which is necessary for any (autonomous) action. The general types of these
interactions with the environment are shown in the Figure 3.
External
Environment
Factors
Outgoing messages
(to human, agent or
other controller)
Agent
Inference Engine
Incoming
messages from
other agents
Internal World State
Actions on the
environment
Figure 3: Agents interactions with the environment [Hayzelden 99, p. 10]
A general taxonomy of agents is given in the Figure 4 which can be found in most of the
books about software agents.
Autonomous agents
Biological agents
Robotic agents
Computational agents
Software agents
Task specific agents
Entertainment agents
Figure 4: Taxonomy of autonomous agents
5
Artificial life agents
Viruses
A software agent can have certain aspects of the behaviour as described in the Table 3.
Property
Social ability
Autonomy
Reactivity
Adaptability
Agent
Granularity
Degrees
Learning
Pro-activity
Description
A software agent is able to use communication as a basis to signal interest
or information to either homogeneous or heterogeneous agents that
constitute a part of its environment. The agent may work toward a single
global goal or separate individual goals.
Agents should operate without the intervention of external elements (other
agents or humans). They have some kind of control over their actions and
internal states.
Agents perceive their environment and respond in a timely fashion to
changes that may occur.
Agents are characterized by their flexibility, adaptation, and facility to set
up their own goals based on their implicit purpose (interests). One of the
major characteristics of agents is their ability to acquire and process
information about the situation, both spatially and temporally.
Agents may have degrees of complexity; Most simple agents are
characterized by the lack of intelligence regarding their behavior. These
agents are called reactive. More complex agents are called cognitive or
intelligent agents. They are characterized by their ability to know their
environment, to act on themselves and on the environment; their observed
behavior is a consequence of their perception, knowledge, and interactions.
Either the agency itself may perform some learning ability (as a society) or
each individual agent may be embedded with a learning algorithm (e.g. a
Neural Network or their re-enforcement algorithm). Learning often allows
the agent to alter its future action sequences and behavior such that future
mistakes can be alleviated. Learning is often a factor that provides an
agent's ability to demonstrate adaptive behavior.
Agents should exhibit goal directed behavior such that their performed
actions cause beneficial changes to the environment. This capability often
requires the agent to anticipate future situations (e.g. using prediction)
rather than just simply responding to changes within their environment.
Table 3: Properties of software agents by [Hayzelden 99, p.5/6]
On the other hand, we can combine the agents characteristics to define special kinds of
software agents and agent communities (see Figure 5 adapted from [Darbyshire 00]).
Autonomy
pro-active
reactive
passive
preference
reasoning
learning
Intelligence
with humans
with agents
Social ability
Figure 5: 3D model of agent characteristics
6
In order to define all aspects of the behaviour of an agent based on the 3D characteristics, we
will cite the definition by [Ferber 99, p. 9] of general (software) agents:
“An agent is a physical or virtual entity, which is capable of acting in an
environment, which can communicate directly with other agents, which is
driven by a set of tendencies (in the form of individual objectives or of a
satisfaction/survival function which it tries to optimise), which possesses
resources of its own, which is capable of perceiving its environment (but to
a limited extent), which has only a partial representation of this
environment (and perhaps none at all), which possesses skills and can offer
services, which may be able to reproduce itself, whose behaviour tends
towards satisfying its objectives, taking account of the resources and skills
available to it and depending on its perception, its representations and the
communications it receives.”
In the most complex case we can establish the following components as a static architecture
description of an agent as shown in the Figure 6. This software agent could have all the
characteristics and facilities which are described in Table 3 above.
Influences
Intentions/
Collaboration
Administration/
Co-ordination
Inputs/
Perceptions
Outputs/
Reactions
Tasks/
Goals
Action/
Co-operation
Negotiation/
Communication
Knowledge/
Experience
Reflections
Figure 6: Components of a general software agent
Hence, software quality assurance of software agents includes aspects such as the quality of
the capability of acting in an environment, the level of communication with other agents, the
quantities of the driven aspects by a set of tendencies, the characteristics of possessed
resources, the kind of capability of perceiving its environment, the characteristics of the
agent-based partial representation of this environment, the quality of the possessed skills and
offered services, the level of the ability to reproduce itself, the kind of the behaviour towards
satisfying its objectives, taking account of the resources.
In the next section we will describe the general characteristics of agent-based systems in a
short form. Afterwards, we describe the detailled facilities of software agents considering the
different existing system and approaches.
7
1.2.2 Multi-Agent Systems (MAS)
Software agents can build communities in a special domain area. Such systems are defined as
multi-agent systems and we will cite [Ferber 99, p. 11] again:
“The term 'multi-agent systems' (or MAS) is applied to a system comprising
the following elements:
• An environment, E, that is, a space which generally has a volume.
• A set of objects, O. These objects are situated, that is to say, it is
possible at a given moment to associate any object with a position in
E. These objects are passive, that is, they can be perceived, created,
destroyed and modified by the agents.
• An assembly of agents, A, which are specific objects (A ⊆ O),
representing the active entities of the system.
• An assembly of relations, R, which link objects (and thus agents) to
each other.
• An assembly of operations, Op, making it possible for the agents of A
to perceive, produce, consume, transform and manipulate objects
from O.
• Operators with the task of representing the application of these
operations and the reaction of the world to this attempt at
modifications, which we shall call the laws of the universe.”
In the manner of the software agent representation, we describe the (static) architecture of a
MAS in a simplified kind of visualisation in Figure 7. Software agents can handle in different
cities together with other agents and can operate or work with objects.
Influences
Agenta
City A
Agentb
User
Customer
Results
Object2
Object1
City B
City C
Agentc
Reflections
Environment (Network)
Figure 7: Components of a multi-agent system
8
Benefits
Hence, software quality assurance of MAS includes the aspects such as reliability,
availability and usability of the environment, the appropriateness and size of the objects, the
structure and efficiency of the agents communities, the performance of the agents operations,
and the stability of the user interaction with the MAS.
1.2.3 Agent Communication
In order to describe the kinds of agent communication, we can establish the general situation
in shifting from the interactions between objects (from the object-oriented software
development point of view) and between agents which is intimated in Figure 8.
Agent1
Object1
Agent2
Object2
Messages
Interaction based
on a communication language
Figure 8: Kinds of communication between objects and between agents
Intentions of communication are information and conversation and can be expressed by the
communication medium based on messages, communication languages and conversation
languages.
Some kinds of an agent communication language (ACL) [Singh 98] are the main aspect in
the interaction between software agents. Examples of communication languages or
technologies are described in following.
¾ ACML: The Agent Communication Markup Language was defined by Grosof et
al. [Grosof 00] and is based of the FIPA ACL and the XML. This ACML is used
in order to combine the ACL standards with the business rules and existing XML
related business process descriptions. The following DTD fragment of ACML
gives a short impression of this approach.
<?xml version=”pre-1.0” encoding=”US-ASCII”?>
<!ENTITY % messagetp “accept-proposal | agree |
cancel |
cfp | confirm | disconfirm | failure | inform |
inform-if | inform-ref | not-understood |
propose |
query-if | query-ref| refuse | reject-proposal |
request | request-when | request-whenever |
subscribe”>
<!ELEMENT message (messagetype, messageparameter* )>
<!ELEMENT messagetype (%messagetp;)>
<!ELEMENT messageparameter (sender | receiver |
content |
reply-with | reply-by | in-reply-to | envelop |
9
language | ontology | protocol | conversationid)>
<!ELEMENT sender (agentname)>
.
.
.
¾ Agent-0: This is the first member of the Agent Oriented Programming (AOP)
family and executes the loop comprising two steps [Papadopoulos 01]:
-
During the first step incoming messages are gathered and the mental state of
the agent is updated appropriately,
-
During the second step commitments (e. g. guarantees that the agent will
carry out an action at a certain time) are executed using capabilities (actions
the agent is able to perform).
Another approach is Agent-K which combines the message passing functionality
of Agent-0 with the format of KQML.
¾ COOL: The CO-Ordination Language was developed by Barbuceanu et al.
[Barbuceanu 00] in order to consolidate of conversation concepts. An example of
this language which describes a customer conversation is given in the following.
(def-conversation-plan ‘customer-conversation’
:content-language ‘list
:speech-act-language ‘kqml
:initiate-state ‘start
:final-states ‘(rejected failed satisfied)
:control ‘interactive-choice-control-ka
:rules ‘(start cc1)
(proposed cc-13 cc-2)
(working cc-5 cc-4 cc-3)
(counterp cc-9 cc-8 cc-7 cc-6)
(asked cc-10)
(accepted cc-12 cc-11))
¾ FLBC: This Formal Language for Business Communication developed by
[Moore 00] is based on the XML (see also [Glushko 99]) and has deep
foundations in speech act theory. The following example of a FLBC message
gives a short characterisation of this language.
<?xml
version0”1.0”
encoding=”UTF-8”
standalone=”no”?>
<!DOCTYPE flbcMsg SYSTEM
“http://wwwpersonal.umich.edu/~samoore/research/
flbcMsg.dtd”>
<flbcMsg msgID=”M”>
<simpleAct speaker=”A” hearer=”B”>
<illocAct force=”F” vocab=”N” language=”L”>
X
</illocAct>
10
</simpleAct>
<context>
<resources>
<actors>
<person id=”A”/> <person id=”B”/>
</actors>
</resources>
<respondingTo message=”V”/>
</context>
</flbcMsg>
¾ GroupLog: GroupLog is an agent co-ordination language (see [Papadopoulos 01])
and is based on an extended Horn Clauses formalism. The agents are process
models which receive messages and react to them by invoking appropriate
methods. The following example of a group communication shows the syntactic
elements of GroupLog.
group meet_schedule {
context().
interface(begin).
meet_schedule(Id) : begin :members(meet_schedule(Id), [H,I]),
rd(meet_schedule(Id), meet(MeetId)),
H
<<
begin(I,MeetId)
||
I
begin(H,MeetId)
| meet_schedule(Id).
meet_schedule(Id) : new | meet_schedule(Id).
}
<<
H and I are the agents which communicate (‘<<’) in the MeetId group.
¾ JADL: The JIAC Agent Description Language has been designed in order to
support the Java Intelligent Agent Componentware (JIAC) for implementing
MAS for telematic and telecommunication applications. The background of JADL
consists of a toolkit that includes an agent development environment, an agent
debugger, a marketplace monitor, an agent navigator, and a remote
administration tool (see [Liu 01]).
¾ Java: Of course, Java is not really an agent communication language. But their
Web facilities (the classes URL, Thread, Server, Datagram etc.) allow us to
implement agent-like systems which include a communication part, e. g.
-
Generic Mobil Agents [Wong 99]) as a set of Java classes for constructing
heterogeneous agent-based systems,
-
Jada [Rossi 01] as a co-ordination language for Java that can be used to coordinate parallel/distributed components,
-
JATLite [Jeon 00] as an infrastructure for agent implementation based on a
message routing concept,
11
-
JavaSpace [Freeman 99] for building agent-like communities in predefined
environments (spaces),
-
Jini [Arnold 99] as a collection of interacting Java programs in order to
keep reliability and simplicity to the construction of networked devices and
services,
-
Software Aglets [Lange 98] as an IBM product for implementing mobile
agent systems.
¾ KIF: The Knowledge Interchange Format [KIF 98] is a language designed for use
in the interchange of knowledge among disparate computer systems (created by
different programmers, at different times, in different languages, and so forth).
The syntax of KIF can be described in three layers: the basic characters, the
combination of these characters as lexemes, and the combined lexemes as
expressions. In KIF can be used functions and relations about numbers,
characters, strings, and lists. The following KIF expression defines the characters
and gives a little impression of the language syntax.
(defrelation character (?x) :=
(exists ((?n natural-number))
(and (>= ?n 0) (< ?n 128) (= (code-char ?n)
?x))))
¾ KLAIM: The Kernel Language for Agent Interaction and Mobility (see
[Papadopoulos 01] is a Linda variant. A KLAIM program is a net, comprising a
set of nodes. Each node in the net describes an allocated environment that maps
symbolic locality references as a set of running processes to actual tuple spaces.
The following KLAIM code example gives us an impression of this kind of ACL:
def Client = out(Q)@1 ; nil
def Q = in(‘foo’,!X)@self ; out(‘foo’,X+1)@self ; nil
def Server = in(!P)@self ; eval(P)@self ; nil
KLAVA (see [Rossi 01]) is an implementation of KLAIM in Java. [Nicola 00]
discusses the semantics of KLAIM.
¾ KQML: The Knowledge Query and Manipulation Language [Labrou 97] offers a
variety of message types (performatives) that express an attitude regarding the
content of the exchange between agents. Performatives can also assist agents in
finding other agents that can process their requests. In order to obtain a general
impression of this language, we cite from [Labrou 97] the following simple
KQML example: An agent A sends the following performatives to agent B. The
:in-reply-to suggests that the ask-all follows a relevant advertise
message
(ask-all
:sender
:receiver
:in-reply-to
:reply-with
:language
12
A
B
id0
id1
Prolog
:ontology
:content
foo
‘‘bar(X,Y)’’)
and agent B replies with the following KQML message
(tell
:sender
:receiver
:in-reply-to
:reply-with
:language
:ontology
:content
B
A
id1
id2
Prolog
foo
‘‘[bar(a,b), bar(c,d)]’’)
The :sender wish to know if the :content is true of the receiver. True of
the :receiver is taken to mean that either the <expression> matches a
sentence in the receivers knowledge base or is probable by the :receiver.
¾ LGI: The Law-Governed Interaction was developed at the Rutgers University
(USA) and is a co-ordination mechanism that allows to build an open group of
distributed active entities (agents, processes) (see [Bryce 01]). The agents interact
with each other , with confidence that an explicitly specified policy (the law of the
group) is strictly observed by each of its members. The three types of
communication in LGI are between the agent and the controller and between
controllers.
¾ Little-JIL: The Little-JIL is a visual language of agent co-ordination (see
[Papadopoulos 01]). This language has been designed to address in particular the
problem of knowledge discovery in databases which is helpful in Web
environments in order to regard aspects such as traffic analysis, fraud detection
etc. In Little-JIL an agent is a special resource associated with a step as a
representation of a process.
¾ LuCe: The Logic Tuple Centres (see [Rossi 01]) is a co-ordination model, system
and technology for the construction of multi-agent systems involving autonomous,
pro-active, possibly heterogeneous agents. LuCe is logic-based and exploits
Prolog both as the inter-agent communication language and as the co-ordination
language.
¾ MAI2L: The Multi-agent Language [Haugeneder 98] consists of four aspects such
as characters (char) representing the agent action or plan, preconditions (pre)
which contain operations for knowledge access and for setting conditions on that
knowledge, procedures (proc) for composing flow structures, and effects (eff)
which characterise the successful execution of the procedure. The following
MAI2L example only shows the syntactical meaning of this language.
plan(cnet(TaskType,BestBid),
chars = Mgr, Bdrs,
proc = (Mgr:cn_make_proposal(TaskType,Specs) &
Bdrs:CallForBids = Mgr:propose(Bdrs,Specs)
&
Mgr(!timeout -> Bids) =
13
Bdrs(refine_bids(Specs,CallForBids\sender,B
ids) &
refine(CallForBids\sender,Bid)) &
Mgr:cn_eval_bids(Bids,BestBid,RestBids,Time
Outs) &
. . .
eff = Mgr(-cc),Bdrs:(-cc)).
¾ MIF: The Market Internet Format was defined in order to support e-commerce
(see [Papadopoulos 01]). In MIF agents share a common language which is a
formalised subset of commerce communication. Typical MIF expression of
interest for e-commerce transactions are the following:
(def car “trade-object”
color (instance “red”))
. . . )
(instance “contract”
data(interval 1/1/2000 1/1/2001)
buyer(instance “person”
(name “John Brown”)
(address ...) ...)
goods(instance “car”
color(instance “red”) ...)
¾ PLACA: The Planning Communication Agents language (see [Papadopoulos 01])
includes the following syntactic structures:
-
INTEND x: intending to make sentence x true by adding it to the list of
intentions,
ADOPT x: adopting the intention, plan x to the intention, and plan list,
DROP x: dropping the intention, and plan x,
the set CAN-DO x, CAN-ACHIEVE x, PLAN-DO x, PLANACHIEVE x, and PLAN-NOT-DO x which are truth statements used in
mental conditions.
¾ sACL: The small Agent Communication Language is defined by Pitt et al. [Pitt
00] in order to describe the appropriateness of a general semantic framework for
the interpretation of ACLs. sACL is based on speech acts and is defined as a 3tuple 〈Perf, Prot, reply 〉 given by specifying
Perf = {inform, query, command,
request,
agree, cancel, fail, null }
acknowledge,
end,
Prot = { yesno_query, confirmation, commitment, datasync, no_protocol } .
The protocols can be used by one agent to communicate with another in order to:
-
query another agent about the value of some proposition,
inform an agent of some proposition and receive
acknowledgement,
14
an
-
synchronise data with another agent about the value of some
proposition,
ask an agent if it will undertake some action.
¾ Telescript: Telescript was the first system to bring network agents into the public
conscience. The first version of Telescript was developed before the Internet and
networks has change dramatically. In order to see some facilities in Telescript we
will chose an example from [Cockayne 97]. Based on the class definitions for
Telescript agents, we can general define a meeting as follows
meeting: sponsored op (
agent: protected Telename;
_class: protected Classname;
petition: protected Petition) Object|Nil
throws MeetingDenied =
{ throw MeetingDenied();
nil
}
The operation op is special because the engine itself requests it whenever a
meeting is requested of an agent. The operation may throw an exception. Indeed
the shopping agent always throws a member of the predefined MeetingDenied
class.
¾ TRUCE: This script language is a co-ordination language that supports roles,
groups and dynamic agents at collaboration time (see [Papadopoulos 01]). The coordination is defined by a protocol specification. Every instruction in a script has
two components: the action to be executed and a set of collaborators that
participate in carrying out this action. A simple example of a co-ordination
scenario is given in the following.
protocol selling-protocol {
when { $selling=true {
sellers.if {myturn=true} {
set $”current-sellers”=_me;
}
retract {selling-protocol};
facilitator.set {$selling} false;
auction {facilitator, $”current-seller”
{byuers, sellers} };
recover {selling-protocol};
facilitator.proceed {$”current-seller”};
}
}
The facilitator, byuers and sellers are the bound to agent names in
this script.
¾ WARREN-ACL: The ACL of the Carnegy Mellon University MAS system
shortly described in [Petrie 01] is based on the essential KQML characteristics. A
simple example is given in the following.
15
(monitor
:SENDER barney
:RECEIVER news-agent
:LANGUAGE simple-query
:ONTOLOGY news
:REPLY-WITH ibm-query-2
:NOTIFICATION-DEADLINE (30 minutes)
:CONTENT (query news
:CLAUSES
(=
$newsgroups
``dow-jones.indust.earningsprojections´´)
(= subject ``IBM´´)
:OUTPUT :ALL) )
¾ 3APL: 3APL is an acronym of An Abstract Agent Programming Language
[Hendriks 00] and was extended by two pairs as communication primitives: the
pair tell and ask, and the pair req and offer. The first pair uses the
exchange information between agents and the second pair is used to communicate
requests between agents. A simple example which described a meeting planning is
given in following and should given only a general impression of this language.
reply(Host) <- true |
begin
offer(Host,
meet(MeetId,
MeetTime,
MeetLedngth,Attendants);
req(Host, ∃ MeetTime1 • epmeet(MeetId,MeetTime1,
MeetLength,Attendants, MeetTime));
reply(Host)
end
ask(Host, confirm(MeetId,MeetTime))
A semantic part of agent communication involves several messages between two or more
agents and is called as agent conversation. An example of an agent conversation is shown by
[Bush 00] which is based on the MAS architecture standard FIPA (Foundation for Intelligent
Physical Agents, see below) and described in the following figure.
Agent B
request
Agent A:
agree
Agent A:
success
refuse
not-understood
failure
Figure 9: FIPA request conversation protocol
Another modelling of agent conversation is well-known as protocol of Winograd & Flores
described in [Singh 00] (see also [Greaves 00], [Philipps 00] and [Vongkasem 00]). The state
chart of this conversation is given in the following diagram.
16
A: Declare
A:Request
1
B: Promise
B: Assert
2
A: Declare
3
A: Counter
4
B: Renege
7
B: Reject
A: Withdraw
B: Counter
5
A: Withdraw
A: Accept
A: Withdraw
8
6
9
A: Reject
B: Withdraw
Figure 10: Conversation for action between the agents A and B ( : final nodes)
Commitments can be associated with each state in this protocol which means if B makes a
promise to A without any explicit request from A, in terms of commitments, we can see that
the protocol above effectively begins from the state 6.
The publicly shared constraints on the potentially unbounded universe of possible
semantically coherent ACL message sequence which could be used to achieve a goal
characterises the functional role of the conversation policies [Greaves 00].
Hence, software quality assurance of agent communication addresses the aspects such as the
level of the communication, the intensity or frequency of the communication, the useroriented semantics of the ACL, the appropriateness of the ACL, and the guarantee of the
conversion principles.
1.2.4 Agent Interaction and Co-operation
The communication between agents is mostly embedded in common intentions such as
collaboration or co-operation. Kinds of agent interactions for a successful or conflicting
situation are described in [Ferber 99, p. 66] and is shown in the following Table 4 (see also
[Miles 01]).
Category
Indifference
Co-operation
Antagonism
Situation
Independence
Simple
collaboration
Obstruction
Co-ordinated
collaboration
Pure
individual
competition
Pure
collective
competition
Individual conflicts
over resources
Collective conflicts
over resources
Goals
Resources
Skills
compatible
compatible
sufficient
sufficient
sufficient
insufficient
compatible
compatible
insufficient
insufficient
sufficient
insufficient
incompatible
sufficient
sufficient
incompatible
sufficient
insufficient
incompatible
insufficient
sufficient
incompatible
insufficient
insufficient
Table 4: Situations in agents interaction
17
The activities between agents require a general goal to produce some of the expected results.
The main technology to keep this collaboration is called distribute allocation of tasks. Coordination and collaboration needs basic principles of management, such as co-ordination.
The empirical reasons for agents co-ordination are defined by [Hayzelden 99] as: “Firstly to
prevent chaos. In general no agent possesses a global view of the entire agency to which it
belongs, as this is simply not feasible in any community of reasonable complexity.
Consequently, agents only have local views, goals and knowledge which, may interfere with,
rather than support other agent’s actions. Secondly, to meet global constraints: Agents
performing network management may have to respond to certain failures within seconds and
others within hours. Co-ordinating agent behaviour is therefore essential to meet such global
constraints. Agents in a MAS possess different capabilities and expertise: Therefore, agents
need to be co-ordinated in just the same way that different specialists need to co-ordinate
their capabilities. Agent’s actions are frequently interdependent and hence an agent may need
to wait on another agent to complete its task before executing its own. These mutually
dependent activities need to be co-ordinated.”
The four main kinds of co-ordination by [Ferber 99, p. 409] are (see also [Durfee 01]) the coordination by synchronisation, the co-ordination by planning, the co-ordination by reaction,
the co-ordination by regulation. The co-ordination can be context-dependent. [Cabri 00]
classifies two kinds of these dependencies
•
The environment-dependent co-ordination which considers aspects like enforcing
security, handling heterogeneity, and supporting open interactions.
•
The application-dependent co-ordination which is addressed to the facilitating access,
exchanging knowledge or implementing co-ordination protocols.
The co-operation can be the largest context of interaction. In the literature we find the
common definition of co-operation as
Co-operation = collaboration + co-ordination of actions + resolution of conflicts .
Based on this intention we require from an agent co-operation that additional agents are
helpful for increasing the performance level (like as SciAgents [Drashansky 99]) or in
avoiding potential conflicts.
On the other hand, software agent’s behaviour is based on three main types of agent coupling
such as [Ferber 99, p. 113]:
1. Fixed coupling: each component has a role or perhaps several roles from which it does not
shift,
2. Variable coupling: the relationships between agents can evolve, but within a framework of
very specific mechanism,
3. Evolutionary coupling: this kind of coupling characterises a variable organisation
structure where the agents can evolve as a function of performance etc.
The intention of the agents co-operation is to achieve a (user) goal as a description of the
world state. Based upon a set of actions it can perform, the agent can construct a variety of
plans for achieving this goal. The agent commits to the ‘ideal’ plan by adding the actions
called for by the plan to a schedule of events, and executes the plan according to the schedule.
Such co-operation requires some of the following capabilities or components [Haugeneder
98]:
18
•
Agent body: which is needed to be able to change the world through actions,
•
Agent communicator: which is necessary to communicate with other agents,
•
Agent head: this is necessary that the agent have knowledge of how to plan its actions,
achieve its goals.
The agent knowledge can be described in the following figure (see also [Sun 00]).
Planning
Scheduling
Distributed plan
Shared goals
Tasks
Goal activation
Execution
Changes in World State
Figure 11: Process view of several distributed agents
Software agents can be characterised relating to the summarised agent facilities and skills in
an organisation. We can divide agents organisation in non-redundant vs. redundant and
specialised vs. generalist forms.
The following description is dedicated to the action and behaviour of software agents. The
action of agents can be modelled in the following six kinds by [Ferber 99, p. 148]:
1. Action as transformation of a global state: this approach is based on the classical AI
planning theory. The general description of this state-based action can be defined as
σ1 = Exec(op(A, L1 , L2), σ2)
where are A the agent, σ1 and σ2 the different states (old and new) and L1 and L2 the
different agent locations (old and new). The transformation itself was described by stripslike operators which are based on the description of the direction related to the
dimensions.
2. Action as response to influences: An agent is actually making a gesture or influences. The
results of these gestures are obtained by application of the laws of the universe. The latter
is the response of the environment, which acts by combining all the influences it receives
from agents, and then deducing from them a new global state in conformity with its own
particular nature. Action and reaction can be defined generally on the base of the
influences Γ and the states Σ as
Exec: Op × Σ → Γ, especially Exec(op,σ) = γ .
19
3. Action as computing processes: Methods of this kind of action description are finite-state
automata, register automata, petri nets, and other forms of algorithm descriptions.
4. Action as local modification: In local models, action is considered as being a local
modification which is propagated along a net of automata. The cellular automata is a kind
of this description.
5. Action as physical displacement: Models relating to this kind of action definition are
(physical) space description, and potential field presentations.
6. Action as command: This description form is based on control theory and cybernetics
which apply a particular command theory.
Some investigations consider the action of actors which are threats models as a simpler kind
of agents (see [Agha 01]). The actor-based models are the foundation of the Cyborgs (cyber
organism) (see also [Bradshaw 01]). The co-operation of software agents can be based on
agent teams. In order to build an agent team [Yoshimura 00] defines the following activities:
“Specify what a team is capable of doing (i.e., what roles it can fulfil); specify which
components are needed to form a particular type of team; specify the co-ordinated behaviour
among the team members; and specify some team knowledge.” Further aspects of team
building is related to the automated team formation and the special task structures in team and
subteams.
In MAS software agents play different roles such as matchmaker, brokers, facilitator or
mediator. This kind of agents is known as middle agent that can be characterised by its core
skills of providing basic mediation services to the considered agent society, co-ordinating
these services according to given protocols, conventions, and policies, and ensuring reliable
service mediation in terms of levelled quality of services as well as trust management within
and across multiagent systems borders.
On the other hands, security aspects play an essential role in agent co-operating. An agent
management must provide basic mechanisms for identifying agents (authentication) and for
verifying the privileges of agents in the shared space (authorisation) (see [Bryce 01]). The
application of agent-based systems for communities was called by [Hattori 99] as socialware.
Hence, the software quality assurance of agents co-operation must considers the aspects
such as the efficiency of the agents interaction, the level of the co-ordination, the quality of the
agent coupling, the reliability of the agent components, the appropriateness of the kinds of
agent actions, the effectiveness of the agent teams and communities, and the level of successes
of consideration the user goals.
1.2.5 Agent Minds, Intentions, Motivations and Negotiations
The next consideration is directed on the states of the (artificial) minds of software agents.
This view is related to the mental states and intentions of software agents. Mental states are
based on the cognition concept which consider several types of cognition as interactional,
representational, conative, organisational and other cognition.
On the other hand, the source of actions are agent motivations. Relating to the dimensions of
organisations, we can distinguish between personal, environmental, social and
representational kinds of motivations. As a special case, we can establish the commitment as
a solution of relational and social motivations under special constraints. Another aspect of
motivation is the intention which is defined by [Ferber 99, p. 298] as: “We say that an agent x
has the intention of carrying out an action a which we denote as intention(x,a) if x has as its
20
goal that a proposition P about a state of the world should be true (denoted goal(x,P) ) and
that the following conditions should be satisfied: x believes that P forms part of the
consequences of a; x believes that P is not currently true; x believes that it is capable of doing
a; x believes that a will be possible, and thus that P can be satisfied.”
Agent intention or motivations are also a reason for agent negotiation in order to keep some
tasks of a collaboration. [Katoh 00] defines some kinds of negotiation protocols which
consider risks of successful agent co-operation. This investigations led to the kinds of
software agents as risk averse, risk neutral and risk seeking agents.
A general characterisation of the agent behaviour as agents roles is described by Kendall
comparing the facets of objects and agents roles in the following table [Kendall 01].
Role model
Responsibilities
Objects
Services, tasks
Agents
Services, tasks, goals, obligations,
interdictions
Collaborators
Roles it interacts with
Roles in interact with
External interfaces
Access to services
Access to services
Relationships to other roles Aggregation, generalisation, re- Aggregation, specialisation, generafinement, role sequences
lisation, role sequences
Expertise
Ontology,
inferencing,
problem
solving, knowledge
Co-ordination and
Protocol,
conflict
resolution,
negotiation
knowledge of why other roles are
related, permissions
Other
Resources, learning/adaptability
Table 5: Facets of objects and agents roles
[Preist 99] distinguishes three main approaches of negotiation strategies such as
•
•
•
The rule based approach where the negotiation strategy is coded into the agent using a set
of rules specifying how they should bargain, and when they should or shouldn’t accept a
deal.
The game theoretic approach which is based on the economic analysis of a negotiation
problem which is used to propose an appropriate negotiation protocol and strategy.
The adaptive behaviour approach where simple agents adapt their strategy by observing
the behaviour of the marketplace and their current performance.
Some concrete agent negotiations has been defined by Zacharia [Zacharia 01] for e-commerce
agents in the following manner:
•
The buying agent, which tries to maximise the following Cobb-Douglas utility function
U = (1 – P)1-I OI
•
where P is the price the buyer will pay, normalised by his budget cap (Pactual/Pcap) so that
it is between 0 and 1, I is the importance of the problem to the buyer, and O is the
outcome of the problem in the range [0,1], where 1 is perfect and 0 is terrible.
The selling agent, which can executes the derivative follower’s price based on
P = LastContractPrice + Sup * random1 - Sdn * random2 * idle
21
where is assumed that the price bids are increased by a fixed step Sup for the next period
and was decreased by Sdn if a deliberative follower fails to receive a contract.
Special examples of agents for electronic marketplaces are defined by [Barbosa 01] as buyer
agent, seller agent and (between them) as intermediary agent. Their algorithm are described
as following
•
The algorithms of the buyer agent’s perception based on the
- Active transactional model:
M1:if know what want
then inform product details are offer
then M2: choose the product
That fits better;
Visualize options and choose
With whom negotiate;
Start negotiation
if Complete transaction
then finish transaction
else goto M1
else M3: information is saved for
seller’s evaluation
else inform the kind of the product;
if inform product functionality offer
then goto M2 else goto M3
-
Passive transactional model:
M1:iter until intermediary agent contact
if the product interest
then start negotiation
if complete transaction
then finish transaction
else goto M1
else answer is no
•
The algorithms of the seller agent’s perception based on the
-
Active transactional model:
-
M1: choose what announce
iter wait for demand
if demand
then visualize possible buyers;
start negotiation;
if complete transaction
then finish transaction
else goto M1
Passive transactional model:
M1: iter until intermediary agent contact
if sell the product
22
then give information;
start negotiation;
if complete transaction
then finish transaction
else goto M1
else answer is no
•
The algorithm of the intermediary agent based on a general transactional model:
if received request of demand
then if offered product found
then show the buyer;
M1: intermediate negotiation;
Save negotiation results;
M2: if buyer profile for
Suggestion suitable
then notify the buyer
else goto M1
else show answer the lack
else (~ of demand)
if buyer not satisfied found
then contact the buyer;
goto M1
else save product and characteristics;
goto M2
An essential aspect in agent’s negotiation consists in their possible conflict management. The
following model by [Tessier 01] describes the conflict handling for agents.
Conflict
avoidance
Goal
adaptation
Conflict
recognition
Conflict
diagnosis
Conflict
resolution
Conflict
process
analysis
Belief
update
Conflict
management
Negotiation
Figure 12: Conflict handling action model
A general classification of conflict resolution modes is defined by [Aïmeur 01] as
•
•
•
Negotiation: as a discussion procedure established between two opposed parts for the
purpose of reaching a common agreement.
Mediation: as a negotiation between two opposed parts in the presence of a third neutral
part which will facilitate the research of a solution to the conflict.
Arbitration: where conflicting parts leave it to a third part decision.
23
[Jung 01] developed a system for multi-agent teamwork called CONSA (Collaborative
Negotiation System based on Argumentation) to resolve conflicts. The key idea in CONSA is
to cast conflict resolution as an explicit common team goal. CONSA includes three stages of
argumentation. We assume that the team member Aj generates a proposal π. Then the
argumentation stages are
1. Opening stage:
(a) A team member Aj detects a conflict with π.
(b) If Aj believes joint action not beneficial to resolving conflict, terminate, return;
(c) Else Aj communicates with team members to establish team operator to resolve
current conflict.
2. Argumentation stage:
(a) Any member Ak in the current team operator may generate proposal to resolve
conflict,
(b) Other team members evaluate-proposal.
(c) If no conflict/coincidence found, accept the proposal and got to step 3.
(d) Else if proposal found to conflict/coincide; continue argument if cost-benefit-wise
useful, else accept the proposal and goto step 3.
3. Closing stage:
(a) If suggested proposal accepted, then terminate conflict-resolution team operator;
(b) Else if the conflict resolution found unachievable or irrelevant, terminate conflictresolution team operator.
A special model for agent operation is well-known as belief desire intention (BDI) model.
[Georgeff 98] describes the three components in this model as follows:
•
beliefs are components of an agent-based system which can represent environment
information they was updated after each sensing action,
•
desires are components which include information about the objectives what priorities or
payoffs are associated with the various current objectives,
•
intentions are components which include the information of the system state to represent
the currently chosen course of action.
The BDI agent architecture of Kinny described in [Pitt 00] is shown in the following figure.
Belief (fact)
Database
Plan
Library
Sensors
User/Agent
Interface
Interpreter
(Reasoning
System)
Environment
24
Actuators
Desires
(Goals)
Intention
Structures
Figure 13: BDI agent architecture
These models are the background of the agents negotiation in order to arrive special goals or
intentions. A well-known example of this negotiation is the haggle protocol (see [Pitt 00a])
which is illustrated by the finite state diagram shown in the following figure.
buyer: query_if
0
seller: inform
1
seller:agree
2
buyer:inform
9
seller:agree
9
Figure 14: The Haggle protocol
In order to manage the BDI process, [Brazier 99] defines the following control hierarchy
shown in the figure 15.
own process control
Belief determination
intended goal
determination
desire determination
intention and commitment
determination
goal determination
plan determination
committed goal
determination
intended plan
determination
committed plan
determination
Figure 15: Task hierarchy of own process control within a BDI agent
[Jain 99] defines the sphere of commitment between agents as SoCom. In order to keep a
successful co-operation, the SoCom manager was created for efficient e-commerce
applications.
Hence, the software quality assurance of agent minds, intentions and negotiation should
consider the aspects such as the level of negotiation, the success rate of negotiations, the
25
effeciency of the agent roles, the appropriateness of the negotiation strategies, the
effectiveness of the BDI application.
1.2.6 Agent Mobility
The general aspects and priciples of agent mobility is shown in the charts of the following
figure.
App
Host A
Service
RPC-based approach
App
Host B
Service
Send agent
App
Service
App
Mobile Agent-based approach
Service
Disconnect
App
Service
Recconnect
and return
Figure 16: Principles of Agent Mobility
In order to keep the agent’s mobility, most of the agent-moving work must be done in the host
or network. Knapik defines the following activities by the host ([Knapik 98], p. 203):
•
“Network and mobility support is responsible for moving files to and from addresses.
These files contain agents, which must be executed at each host.
•
Verify that the agent has all right codes embedded the header.
•
Discern the capabilities of an agent, and determine whether an agent can execute or
whether it is safe to execute. This could mean parsing the agent’s source code to find any
references to forbidden global variables or functions that aren’t understood. The agent
must know what functions the host supports, and call only those functions, or the host
must be able to load a personality that is indicated in the agent header.
•
Perform information, resource, and data access functions, such as getting current time,
customer record, and so on.
•
If an agent runs amok, stop it and send it back to its user to be analyzed, then change
permissions such that the user’s agents are not longer welcome.”
Li defines a “secure route structure” for mobile agents in the following manner [Li 00]: “An
agent’s route is defined as a sequence of [c0, ..., cn]. Each of ci, for 0 ≤ i ≤ n, represents the IP
address of a host. The route indicates the itinerary of an agent, who will visit each host in the
same order as the sequence.” Furthermore, this sequence is a structure because of the eligible
26
paths in the network. This basic structure can be extended by any quality information such as
performance, cost etc. (see also [Stefano 00]).
Hence, the software quality assurance of agent mobility addresses the aspects such as the
performance of agent movements, the appropriateness of the visited cities, the knowledge
about the requirements and supports of the different cities.
1.2.7 Agents Communities and Organisations
The system of co-operating agents can be built as agent organisations (see also [Case 01] and
[Valera 01]). We cite the definition of [Ferber 99, p. 88]: “An organisation can be defined as
an arrangement of relationships between components or individuals which produces a unit, or
system, endowed with qualities not apprehended at the level of the components or individuals.
The organisation links, in an interrelational manner, diverse elements or events or individuals,
which thenceforth become the components of a whole. It ensures a relatively high degree of
interdependence and reliability, thus providing the system with the possibility of lasting for a
certain length of time, despite chance disruptions.” The key functions of an agent
organisation – also defined by Ferber – are described in the following.
The representational function frepr comprises the generality of functions for modelling the
environment and other organisations as well as the memorisation of any events which may
have affected the organisation. The role associated with the representational function is that of
archivist.
The organisational function forg relates to everything concerning the management of the
activity of an organisation, and in particular to the planning, allocation and following up of
tasks, the co-ordination of actions and the management of obligations. A large number of
roles are associated with this function, in particular those of customer, mediator, planner and
co-ordinator.
The conative function fcon refers to the sources, limits and selection of the activities of
organisations and is divided into three sub-functions: the motivational function, the external
function and the decision function. One of an associated role of this function is the decisionmaker.
The interaction function finter serves to create the link between an organisation and that which
surrounds. The roles associated with this function are those of interface (observer, executive
and communicator).
The productive or operative function foper concerns the primitive activities which have to be
brought into play to solve a problem or carry out a piece of work.
The vegetative or preservative function fvege deals with the preservation of both structure and
agents, with the acquisition and maintenance of resources, and with the tasks carried out to
maintain and reproduce the organisation.
The schematic representation of the different functions of an organisation is shown in figure
17 which demonstrates the possible interactions of these functions [Ferber 99].
27
Cognitive
function
Vegetative
function
Productive
function
Co-ordination
function
Representational
function
Interface
function
Figure 17: Types of functions of an organisation
For the interaction between organisations, [Ferber 99, p. 96] defined five types of dimensions:
(1) The physical dimension (φ) deals with the implementation, the architecture of the
organisation and its personal resources.
(2) The social dimension (σ) concerns the place and thus the role of an organisation in a
higher-level organisation.
(3) The relational dimension (α) is concerned with interactions, with the exchanges which an
organisation may have with other organisations on the same level, and with its
communications and their co-ordination.
(4) The environmental dimension (χ) is linked to the organisation’s capacities to act, perceive
and reason in relation to the surrounding world.
(5) The personal dimension or dimension of the self (ω) represents everything which relates to
the essence of the organisation.
Figure 18 gives a simplified presentation of these dimension analysis of agent organisations
including a mapping of the organisational functions by [Ferber 99, p. 105] for two kinds of
agent organisation: the reactive organisation ReactOrg and the communicative organisation
ComOrg. The notification of the function means their presence and the function written in
square brackets means their optionality.
Social: σ
ComOrg(frepr,[ forg, fcon , foper ])
Relational: α
Environmental: χ
28
Self: ω
ComOrg(forg, fcon, finter,[ foper])
ReactOrg(forg, fcon, finter, foper, fvege)
ReactOrg([ fcon ])
ComOrg([ foper ])
ComOrg(frepr, [ forg ])
Physical: φ
ReactOrg(forg, fcon, finter, foper, fvege)
ComOrg(frepr, forg, fcon, finter, foper)
Figure 18: Aspects of analysing of organisations
Software agents in organisations could be observed for different kind of reasons. The
observation of the software agents should have no influences on their operationality.
Therefore, [Moro 00] defines some kinds of synchronisation (also called correlation
strategies) relating to the considered agent events such as
•
•
•
“Temporal correlation, events coming at close times are grouped together, and the firing
of a grouped event is performed when an internal clock sends its tic.
Size correlation, events are put into a buffer and sent when the buffer becomes full.
Data correlation, events carry some information that is used both to classify them and to
decide when to send a grouped event.”
In this context, we can establish seven types of agent organisational relationships shown in
Table 6 after [Ferber 99, p. 111].
Relationships
Acquaintance
Communicational
Subordination
Operative
Informational
Conflictual
Competitive
Static
Master/slave
Dependency between tasks
Dependency between knowledge
-
Dynamic
Service demand/request
Obligation to do
Validation obligation
-
Table 6: Organisational relationships
[Ferber 99, p. 225] describe three general types of modelling the intentions of agents:
•
The interactional system: This kind of modelling is addressed to the actions such us active
and passive perceptions and defines the elementary and complex features.
•
The representational system: This kind of modelling considers the representation, the
beliefs and the knowledge of agent-based systems. The types of beliefs can also be
divided in the organisational grids of analysis as environmental (χ), social (σ), relational
(α) and personal (ω).
29
•
The conative system: This model determines the action that the agent should undertake, on
the basis of the data and knowledge available to it, in order to maintain a function, while
preserving its structural integrity and its actions in such a way that the organisation of
which it forms part also preserve its structural integrity.
Hence, the software quality assurance of agent organisations must consider the aspects such
as the appropriateness of the different organisation functions, the level of the different
organisation dimensions, the effectiveness of the interoperations in an agent organisation, and
the performance of the agents correlation.
1.2.8 MAS Architectures
In order to investigate the software agent quality, we must consider the different kinds of
agent-based system architectures. These kinds of architectures lead us to the quantity
characteristics of agent systems and give us the possibility of agents and systems evaluation
based on real system parameters such as system structure, complexity and coupling (see also
[Vidahl 01]). Kinds of agent architectures are described by [Hayzelden 99] as the reactive
agent architecture, where the agents based on this type of architecture generally do not have
an internal representation of the environment; the deliberative agent architecture, where an
agent that conforms to this architecture generally has a richer internal representation of its
operational environment; the hybrid agent architecture that is a coupling of the two above
architectures.
Types of agent architectures according to [Ferber 99, p. 127] are described in the following
Table 7. This table includes more details about the component structure.
Type of
architecture
Horizontal
modular
Blackboard
Subsumption
Competitive
tasks
Production
rules
Classifiers
Connectionist
Dynamic
system
Multi-agent
Approach
Horizontal
functional
Functional
Vertical
functional
Vertical
functional
Functional
Vertical
functional
Vertical
functional
Vertical
functional
Object/
functional
Type of
component
Module
Subordination
structure
Hierarchical
Coupling
structure
Fixed (but
progressive)
Variable
Fixed
Constitution
Task
Primitive task
Hierarchical (Meta)
Hierarchical
Task + primitive
actions
Rule
Hierarchical
(Competition)
Hierarchical (Meta)
Variable
Predefined
Variable
Predefined
Rule
Hierarchical
Evolutionary
Predefined
Formal neuron
Egalitarian
Predefined
Stimulicommand
Agent
Egalitarian
Fixed (by
weight)
Fixed (but
progressive)
Variable
Egalitarian
Predefined
Predefined
Predefined
Emergent
Emergent
Table 7: Main agent architectures by Ferber
A general characterisation of future communication systems is given by [Nwana 99] including
the software agent technology shown in the following figure.
User Interface Agents
Agent Interoperability/Middleware Layer
Network Service Layer
30
Telecommunication Network Layer
Figure 19: A layered architecture of agent-based communications systems
The FIPA Agent Management Reference Model (see [Bellavista 01]) is described in the
following figure.
Domain
Agents
Agent Platform A
Internal Platform Message Transport
ACL
Interfaces
Wrapper
Management
Agent
Agent
Communication
Directory
Facilitator
Communication Channel (ORB)
Figure 20: FIPA Agent Management Reference Model
Now, we will present some examples of an agent architecture. The network community
support system Shine is based on the following software agent architecture [Yoshida 00].
user
Application
Interface
Planner
other agents
Post
Person Database
Figure 21: The internal structure of a Shine agent
[Laufmann 98] defines a functional agent model which includes the following general
components.
general
knowledge
and behaviour
31
“internal”
capability
modules
“external” interactions
with other agents
communication
and interaction
Agent Core
task-specific
knowledge
and behaviour
protocol and
language
modules
“internal”
resource and
skill modules
Fig. 22: Coarse-grained agent functional model
A special agent description for an intelligent agent is defined by [Evans 99] in the following
manner (KB stands for knowledge base).
Agent Comm.
Module
Task
List
Negotiation
Skills
Agenda
Attention focus
Situation
Assessor
Agent Comm.
Module
Low Level
Skills
Self
Model
World
KB
High Level Capabilities
Skill KB
Agent
Model
Contexts
World view
Figure 23: Intelligent agent internals
This is an example of an intra-agent structure where the MAS architectures are descriptions
of the inter-agent structures. Examples of MAS architectures are presented in the following.
The general architecture of the OMG MASIF (Mobil Agent System Interoperability Facility)
is shown in the following figure (see [Bellavista 01]).
Region
Agent System
Place
32
Enhanced Agent
Services
Agents
MAF Agent
System
Basic Agent
Services
MAF
Finder
Communication Channel (ORB)
System-specific
MASIF-compliant
Figure 24: OMG MASIF interfaces
The general MAS infrastructure RETSINA (Reusable Task Structure based Intelligent
Network Agents) by Sycara et al. described in [Shehory 01] is shown in the following figure.
USER1
Goals and Task
Specification
USER2
USER h
Results
Interface Agent 1
Interface Agent 2
Interface Agent k
Task
Proposed Situation
Task
TaskAgent 1
TaskAgent 2
TaskAgent j
Conflict
Resolution
Information
Request
Reply
Service Request
Information Integration
Advertisement
InfoAgent 1
MiddleAgent 1
InfoAgent n
Info Source 1
Info Source 2
Info Source k
Figure 25: The RETSINA multi-agent infrastructure
The multi-agent system architecture is based on the concrete requirements of their
implementation. An example of an Agent Service Layer (ASL) by [Evans 99] is shown in
Figure 26 without any comments.
C++
Sicstus Prolog
CLIPS
Java
KQML
33
Jess
ASL
JASL
Orbix
OrbixWeb
TCP/IP
Figure 26: ASL architecture description
The general MAS infrastructure ADEPT (Advanced Decision Environment for Process Tasks)
by Norman et al. described in [Shehory 01] is shown in the following figure.
Agency 5
Agency 8
Agency 6
Responsible
agent 8
Communication
Agency 7
Responsible
agent 4
Agency 4
Communication
Agency 3
Agency 1
Agency 2
Figure 27: The ADEPT multi-agent organisation
A simple description of the main components of an agent-based system by [Nwana 98] is
shown in Figure 28 which is used over an interface agent.
co-operate
collaborative
agents
learning
smart
agents
interface
agents
autonomous software system
Figure 28: A part view of an agent typology
In Figure 29 we will show another architecture defined by [Busuioc 99] which is addressed to
the management of telecommunication systems (see also [Fricke 01]).
portable PC
mobile phone
34
PDA
customer agent
service agent
service agent
service supplier agents
service supplier agents
Network domain
Cell agent
fixed network agent (FNA)
FNA
FNA
FNA
Agent Platform
Figure 29: The agent platform architecture by Busuioc
The kinds of agent architectures should be the source for deriving model parameters and
aspects for agent system evaluations.
An example of a MAS architecture in order to support a workflow enactment service is given
in the following figure [Divitini 01].
Agent Manager
Workflow
Enactment
Service
Agent
Agent
Agent
Connection
Server
Invoked
Application
Figure 30: An agent-based architecture for Wokflow Enactment Service
[Kühnel 01] defines the following general relation model between the agent aspects and
components which can be a basis for different kinds of MAS architectures.
Knowledge Base
Situation
Option
matches
reach
35
Information
Capability
Goal
fulfil
Plan
current
Request
id
ActionInvocation
Intention
Commitment
Task
Schedule
id
Action
starts
runs
TimePoint
Controller
loads
current
Executor
Interaction
Management
Components
owns
Motivation
Expertise
knows
uses
State
other
Figure 31: Relations between MAS data structures and components
Some kinds of software agents that are working in the Web [Thuraisingham 01] are retrieval
agents, mobile agents, filter agents, locator agents and situation monitoring agents. A typical
architecture of agents in the Web is described in the following figure (see also [Kearney 98]).
Data Sources
Retrieves Data
For Client
Retrieval
Agents
Locator
Agents
Locates Data
for Client
Informs
Retrieval
Agents
Internet / Web
Client
Figure 32: Agents and the Web
Tewari and Maes defines a MAS architecture in order to evaluate the effectiveness and
quality of the heterogeneous resources in electronic markets ([Tewari 01], see also [Maes
99]). The main components of this Multi-Attribute Resource Intermediary (MARI) system are
described in the following figure.
Internet
HTML Interface
36
User Interface Manager (UIM)
Buyer Valuation Manager (BVM) Seller Valuation Manager (SVM)
Valuation Function Generalizer (VFG)
Valuation Function Trainer (VFT)
User Notification
Manager (UNM)
Market Cycle Manager (MCM)
Optimisation Heuristic Manager (OHM)
Active User List
Match Maker (MM)
User Status Manager
(USM)
Transaction
Partner List
Buyer
Pool
Seller
Pool
Database Manager (DM)
Figure 33: Architecture of the MARI system
A simplified architecture of a MAS for telecommunication is developed by [Huhns 98] and is
shown in the following figure.
User
DB1
Graphical Interaction Agent
Transaction Scheduling Agent
Schedule Repairing Agent
Scheduling Processing Agent
DB2
...
DBn
Figure 34: Multi-agent system for relaxed processing of telecommunication
transactions
A MAS architecture based on the application view is described as Human-Centred Virtual
Machine (HCVM) in [Koshla 00] shown in the following figure.
Problem Solving Agent Layer
Intelligent Hybrid Agent Layer
37
Intelligent Agent Layer
Expert
System
Agent
Software Agent Layer
Distributed
Comm. &
Processing
Agent
Fuzzy
Logic
Agent
Media Agent
Supervised
Neural
Network
Agent
Object Layer
XML Agent
Self Organizing Agent
Genetic Algorithm Agent
Fusion
Agent
Global Preprocessing
Phase Agent
Combination
Agent
Decomposition
Phase Agent
Control Phase
Agent
Transformation
Agent
Decision
Postprocessing
Phase Agent Phase Agent
Figure 35: The five layers of the HCVM
A special example of a so-called upper respiratory decision media agent is described in the
following table (see [Koshla 00]).
Parent Agent
Goals:
Tasks:
Task Constraints:
Invoking Condition:
Precondition:
Postcondition:
Communicates with:
HCVM media agent
Effective/accurate symptomology gathering
Establish practitioner’s location in the system
Correlate symptomatic data to argumentative diagnosis knowledge
Determine symptoms
Map symptom characteristics to media artefacts
Determine media layout
Map symptomatic data to antecedents of rules and input vector of supervised
neural networks
Medical practitioner’s context, symptom data characteristics,
media characteristics information processing/task context,
media layout (e.g. visual, text)
Request from upper respiratory diagnosis decision agent C
Trained Medical practitioner, Problem solving phase: decision, diagnosis,
availability of image/graphic, audio and text objects
Multimedia upper respiratory diagnosis symptom display
Upper respiratory diagnosis decision agent C, graphic and audio objects
Table 8: The HCVM media agent
Parent Agent
Communication
Constructs
Linguistic/nonlinguistic
features:
External and Tools:
HCVM media agent
Inform: upper respiratory symptomology to decision agent C
Psychological scale and representing dimensions of symptoms,
symptom for upper respiratory infection cluster C
Software: Graphic object, audio objects, text object
Domain: Symptomology images, sound effects
Design: Multimedia symptom analysis and design techniques
38
Internal Tools:
Planning and sequencing media generation, display and co-ordination
actions
Generate and display upper respiratory symptomatic elaborate images,
abstract sound effects and representative text,
Generate & Display logarithmic sliding temperature scale and other
perception based sliding scales for acute Otitis Media symptoms,
Generate & Display abstract image icon to establish practitioner’s location
in the system (e.g. potential diagnosis state)
Display feedforward neural network graphics for reasoning (not
implemented)
Actions:
Table 8: The HCVM media agent (Cont.)
A special kind of MAS is defined in [Umeda 00] as argument-based agent system which is
based on co-operative reasoning with argumentation protocols.
The Nomad architecture of an eAuctionHouse is defined by [Sandholm 00] as follows.
User’s
TCP/IP
connection
Replies to user
Request for
bids, setting
up auctions etc.
User’s
Web browser conn.
H
T
M
L
Inter
face
eAuctionHouse
Auction
database
Connection
manager
Auction
engine
Web system
Request for automaInterface for tically generated agent
specifying
agents
Agent
generator
Agent
database
Create agent
from template
Agent
manager
User’s
TCP/IP
connection
Create user-programmed Java agent
Agent dock
Communication
with user
Nomad
Figure 36: The Nomad architecture within eAuctionHouse
[Massoud 00] describes the potential architecture of industrial systems with critical aspects
such as security, performance, reliability, and robustness. The following figure 37 shows this
general architecture.
Vulnerability
Assessment
agents
Hidden failure
monitoring
agents
Reconfiguration
agents
Restoration
agents
Event
Planning
39
identification
agents
agents
Triggering events
Event/alarm
filtering
agents
Plans/decision
Model
update
agents
Update model
Command
interpretation
agents
Check
consistency
Events/alarms
Controls
Fault isolation
agents
Inputs
Frequency
stability agents
.........Inhibition signal ........
Protection
agents
Generation
agents
Controls
Power system
Figure 37: The multi-agent system architecture
This design organises the agents in three layers:
1. The reactive layer (bottom) consists of agents that perform programmed self-healing
actions that require an immediate response.
2. The agents in the co-ordination layer (middle) include heuristic knowledge to identify
which triggering event from the reactive layer is urgent, important, or resource
consuming.
3. The deliberative layer (top) consists of cognitive agents that have goals and explicit plans
that let them achieve their goals. The goals of agents in this layer are dependability,
robustness, and self healing.
The application of mobile agents in order to keep security aspects is described in [Romão 01]
based on the definition of a proxy certificate (see Figure 38), where CA stands for certification
authority and C for certificate.
Cardholder(C) certificate
Proxy certificate
C Identity
C
pub key
C Identity
CA
Agent
Signature
pub key
C
Signature
Figure 38: Cardholder binding with a proxy certificate
The signature verification based on this agent related structure shows the following figure.
CA certificate
Cardholder(C) certificate
CA Identity
C Identity
40
CA
pub key
CA
C
Signature
pub key
CA
Signature
Proxy certificate
C Identity
Signed document
Agent
pub key
C
Agent
Signature
Signature
Figure 39: Signature verification with proxy certificates
Hence, the software quality assurance of MAS architectures addresses the aspects such as
the efficiency of the MAS layers, the reliability of the MAS components, the appropriateness
of the chosen platform, the performance of the co-ordination and planning in the MAS, the
usability of the MAS interface, the effectiveness of the MAS integration, the manageability of
the MAS structure, the appropriateness of the MAS architecture granularity.
1.3 The MAS Development Process
1.3.1 MAS Development Methodologies
The MAS development process is embedded in the general view of the Agent-Oriented
Software Engineering (AOSE). Another description as Agent-Based Software Engineering
(ABSE) is a refinement of some aspects of AOSE based upon practical experience in agent
building [Petrie 01]. Currently, we can establish: “Although many Multi-Agent Systems
(MAS for short) have been designed, there is a crucial lack concerning specification and
development methodologies.”[Hilaire 00]
Some of the agent-oriented system development technologies and methodologies are (see also
[Knapik 98], [Koblick 99], Parunak 99], [Papazoglou 01], and [Stojanov 00a]):
¾ AAII: This methodology has been created by the Australian AI Institute for developing
agent-based systems for a decade (see [Wooldridge 01]). The main technologies involve
in this methodology are the belief-desire-intention technology, the procedural reasoning
system (PRS) and the multi-agent reasoning system (DMARS). The main steps of the AAII
methodology are
1. Identification of the roles in the application domain and development of the agent
class hierarchy.
41
2. Identification of the responsibilities associated with each role, the services
required by and provided by the role, and then determine the goals associated with
each service.
3. Determination of the plans for each goal that may be used to achieve it, and the
context conditions under which each plan is appropriate.
4. Determination of the belief structure of the system – the information requirements
for each plan and goal.
¾ AAOSA: The Adaptive Agent Oriented Software Architecture is a software methodology
that proposes the break-up of complex software into a community of simpler,
independent, collaborating, adaptive, message-driven components such as AAOSA
agents. Each agent is comprised of a black box section (specialities) and a white box
section (communications) (see [Wooldridge 01]). The predefined communication is based
on a standard inter-agent message field. The co-ordination between agents uses ambiguity
resolution methods.
¾ ABROSE: The Agent Based Brokerage Services in Electronic Commerce framework
includes the following objectives (see [Wooldridge 01]):
1. Dynamic knowledge capture,
2. Usage of multi-agent system to represent the knowledge base,
3. Navigation and information retrieval through a graphical interface (also supported
by agent technology),
4. Utilisation of Java and CORBA as implementation technologies,
5. Usage of collaborative agents to optimise intermediation,
6. Evaluation of agent technology implications in information brokerage and
commercial applications,
7. Java, CORBA, and SNMP usage to implement the management architecture.
In ABROSE, the MAS is concerned with the brokerage functionality for e-commerce
activity. Buyers and sellers are represented by proactive, autonomous, and co-operative
agents.
¾ ADK: The AgentBean Development Kit (see [Papadopoulos 01]) is a component-based
framework for developing mobile multi-agent systems with some emphasis on network
and system management issues. An agent composes one of the following three sets:
1. Navigational components which are responsible for managing the internity of the
agent,
2. Performer components which consider the management tasks that should be
executed at the host of the currently visited place,
3. Reporter components which are responsible for delivering agent’s results to
designated destinations.
¾ Agents in Z: The framework approach of Luck and d’Inverno uses the Z language and
defines a four-tier hierarchy of the entities that can exist in an agent-based system (see
[Wooldridge 01]). They defines this four levels as kinds of system components as
1. Entities which are inanimate objects which have attributes such as colour weight
and position,
2. Objects to be entities that have capabilities,
42
3. Agents which are defines to be objects that have goals and thus are in some sense
active,
4. Autonomous agent which are defined to be agent with motivations.
¾ Agent UML: This methodology by Odell et al. uses the Unified Modeling Language
(UML) in order to support the agent system development (see [Bauer 01] and [Odell 01]).
The proposed modifications include:
• Support for expressing concurrent threads of interaction thus enabling UML to
model contract protocols,
• A notion of “role” that extends UML to allow the modeling of an agent playing
many roles.
Concretely the following connector types are defined in order to extend the UML
sequence diagram for the possibilities of interactions in the agent lifelines and agent
threads.
X
query
request
X
X
AND
XOR
not understood
OR
example of XOR
Figure 40: Connector types and their use
¾ Burmeister: This approach is described in [Lind 01] as a development method for MAS
based on object-oriented techniques. This method is limited to systems of co-operative,
directly communicating software agents. The model approach includes three process
descriptions: the agent model, the organisational model, and the co-operation model. The
agent model of this approach describes the internal states, i. e. the goals or plans, of the
agents and thus models the dynamics in the small. The interactions are modelled by
protocols based on KQML messages.
¾ Cassiopeia: This approach of Collinot et al. is essentially bottom up (see [Wooldridge
01]). The methodology proposes three steps:
1. Identification of the elementary behaviours that are implied by the overall system
task,
2. Identification of the relationships between elementary behaviours,
3. Identification of the organisational behaviours of the system which includes the
grouping of the agents themselves.
¾ DESIRE: This framework by Treur et al. is developed for the design and formal
specification of compositional systems (see [Wooldridge 01]). DESIRE has associated
with it a graphical editor and other tools to support the development of agent systems.
43
¾ Formal methods for AOSE: Formal methods in software engineering are helpful for the
specification, direct programming and verification of software systems (see [Wooldridge
01]). These approaches intend the following details:
•
Specification: The formal specification of agent-based systems is directed on the
aspects of beliefs, goals, actions and ongoing interaction. The most successful
approaches are based on the temporal modal logic. Two examples of these
approaches are the Cohen-Levesque theory of intentions and the Rao-Georgeff
belief-desire-intention model. Problems can appear by the semantics of the
specification languages based on this logic. Possible world semantics imply that
agents are logically perfect reasoners, and they have infinite resources available
for reasoning. No real agent has these properties. On the other hand, possible
world semantics are generally ungrounded. That is, there is usually no precise
relationship between the abstract accessibility relations that are used to
characterise an agent’s state, and any concrete computational model.
•
Directly programming: Usually, the implementation of a MAS specification can
be achieved by transformation in a programming language. Therefore, a
specification was refined manually in order to fulfil the necessary information for
code generation. The two kinds of implementation are the direct execution of the
specification (as simulation) or the compilation of the specification and the
program realisation.
•
Verification: The verification of the MAS system development can be realised by
deductive verification (based on an axiomatic system such as Hoare’s calculus) or
by model checking as a semantic approach in which was proved if a formula of a
language (the specification) is valid to a predefined semantic model.
¾ Gaia: The Gaia methodology (the name comes from a Gaia hypothesis that all the
organisms in the earth acting together to regulate the earth’s environment) is developed by
Wooldridge et al. [Wooldridge 01] and is intended to allow an analyst to go systematically
from a statement of requirements to a design that is sufficiently detailed and that can be
implemented directly. The Gaia approach consists of two general concepts:
a) The abstract concept including the roles, permissions, responsibilities, protocols,
activities, liveness properties, and safety properties,
b) The concrete concept involves the agent types, the services and the acquaintances.
¾ IMPACT: The Imperative Maryland Platform for Agents Collaborating Together (see
[Klusch 01]) supports multi-agent interactions and agent interoperability in an application
independent manner. IMPACT provides the yellow-pages server, the registration server,
the type server and the thesaurus as human interface. The services of agents are described
in a special markup service description language.
¾ IMPS: The Internet-based Multi Agent Problem Solving (see [Papadopoulos 01]) is a
compositional platform for developing Internet multi-agent systems. IMPS uses problem
solving methods and supports multi-agent systems with a knowledge library which can be
distributed over the Internet. The agent level architecture contains two kinds of server
agents: the extraction agent and the ontology construction agent which are used for
providing on-demand knowledge to inference agents.
44
¾ JGram: This approach supports the rapid development of multi-agents systems (see
[Papadopoulos 01]). Agents’ services are defined in the JDL (JGram Description
Language) and will be automatically converted into Java source templates. Cooperation
between agents is based on pipelining where an agent may dynamically delegate tasks to
other agents and chain together their results. JGram slates are the base for agent
communication and are passed over from one agent to another for the purpose of
accessing and if necessary modifying the entries in it.
¾ Kinny/Georgeff Approach: This approach is also described in [Lind 01], p. 82 ff., and is
based on an object-oriented development method for BDI agents and BDI-based MAS.
The underlying model includes an external viewpoint with the agent model and the
interaction model and an internal viewpoint with the goal model and the plan model in
order to keep the BDI paradigm. Furthermore, formal definitions for beliefs and goals are
provided but the system dynamics are not explicitly modelled in the method.
¾ MALINA: MALINA (Multi-Agent Local Integrated Network Associations) is an
environment for the development of multi-agent applications and it is a more precise
extension of the concepts given in [Stojanov 96], [Stojanov 98], [Stojanov 00]. This is a
more common approach to intelligent agents and multi-agent systems, an approach that
does not focus just on the agents’ ability to “think” or to make the agent very clever, but
also embraces all constitutive parts of one multi-agent system in a vast technology for the
development of distributed applications in a very short time. The technology supports a
bottom-up approach for developing multi-agents applications. MALINA is specified in the
following three levels:
•
Abstract level – at this level a hypothetical infrastructure which provides the
theoretical framework of the technology is defined.
•
Conceptual level – conceptions are decomposition and detailisation of the
hypothetical infrastructure in order to prepare the development of supporting
programming tools and an appropriate developing environment The following
four conceptions which are a basis for the developing environment of the
technology are founded. The Abstract Agent Architecture specifies the
architecture of an abstract generic agent by help of which the agents of different
applications can be configured. The AgentCities specify a static infrastructure for
multi-agent applications. The AgentAssociation provides various possibilities for
building agents associations. The MobileServices give different ways for
automatic generation of mobile agents.
•
Development level – this level includes the development tool for the technology.
In the MALINA technology the abstract agent is a genetic structure with the following
main parts: agent machine including the agent interface, agent local control,
functionality (specialisation) of the agent and agent mentality. Agent interfaces consist
of perceptive and influence mechanisms. Using its sensors the agent receives
information from other agents and from the multi-agent environment. In our technology
that is the city in which the agent lives. Each agent sends information to the other agents
through its effectors, and using the effectors it is capable to change the environment or
to operate into the city employing its functionality and specialisation or its social role. It
is not enough just to send and receive information through sensors and effectors.
45
Mechanisms for processing and understanding these information are needed. In the
abstract agent architecture we have separated this process over two phases:
•
Agent training – during the configuration of the operational agent the designer has
to “teach” the agent what it should do according to received performative
(influencing the adaptation performance and the learning performance).
•
Run time processing – this is a practical mechanism for reasoning that enables the
agent to use all knowledge obtained during the training (influencing the cooperation performance and the suitability performance).
In the MALINA technology the agents can communicate with each other through
KQML (see [Finin 94], [Labrou 97]). The agent meta-level is the part from the abstract
agent that deals with the processing of the received requests (in form of KQML
performatives) and with the construction of the answers (also KQML performatives).
The Agent Cities concept specifies one open infrastructure for modelling multi-agent
systems in distributed environment. An application could be considered as a set of
different “cities”. Each city includes logically related agents. A city can be constructed
in three steps: specification and identification of the city, definition of the agent
locations and distribution of the agents over the city. Each operational agent after its
configuration is put into a given city and as an inhabitant of this city the agent
participates in the social life of the city. But to perform any social activities agents need
mechanisms to communicate with one another and with the institutions of the city. That
is why, when the cities are created, they have to be put into operation by means of
defining some communication mechanisms. The city consists of three main parts (see
Fig. 41), where MCC stands for Mobility Conditions Check, MA for Mobility
Assignment, AR for Agents Relocation, and SI for Static Infrastructure.
In the MALINA technology we propose a measurement and evaluation module which
implements some ideas of the approach proposed in this paper. By means of appropriate
metrics we try to gather quantity data for the evaluation of the agent behaviour (the
local aspect) and of the features of the multi-agents application as a whole (the global
aspect). By the local aspect we intend to improve the operation of the separated agent
and the loading of their local resources. We distinguish different kinds of resources –
devices, system software, information sources etc. The main goal of the global aspect is
the optimisation of the static infrastructure of multi-agents application and the effective
use of the global resources. The two aspects tie close together in relation to some
metrics.
Mobility Assistant
MCC
Measurement and
Evaluation System
MA
46
AR
SI
In the technological framework two kinds of measurements are possible - off-line and
on-line measurements. The off-line measurements will be accomplished during the
“agents’ teaching” phase which is a part of the testing. The measurement data are
visible for the designers of the multi-agents application. In this way they can improve
with help of development tools the technology of the static infrastructure of the system.
For the support of the off-line measurements we are going to define a new set of
specialised KQML-performatives. The on-line measurements and evaluations take place
during the running of the application (run-time measurements). The gathered data are
used mainly for supplying of the city’s mobility module. This kind of the measurements
is transparent for the application designers and users. They cause dynamically changes
of the system which can be only booked.
¾ MAS-CommonKADS: This approach from Iglesias described in [Lind 01], p. 85 ff., is a
general purpose multi-agent analysis and design method based on the so-called
CommonKADS design method which supports most aspects of a knowledge-based
systems (KBS) project. The method describes KBS development from two perspectives:
the result perspective that captures a set of models for different aspects and the
environment, and the project management perspective that includes features of a riskdriven generic spiral life cycle model. The CommonKADS extends the method by adding
techniques from object-orientation (OMT, OOSE, RDD) and protocol engineering (SDL,
MSC) and tailoring them towards the specific requirements of MAS. The model hierarchy
of this approach is shown in the following figure relating to the analysis and design
phases.
ANALYSIS:
Agent model
Task model
Expertise model
47
Co-ordination model
Organisational model
DESIGN:
Application model
Architectural model
Platform model
Figure 42: Hierarchical set of models in the MAS-CommonKADS approach
¾ MaSE: The Multiagent Systems Engineering methodology takes an initial system
specification and produces a set of formal design documents in a graphically based style
[Wood 01]. The general steps are shown in the following figure.
Requirements
Goal Hierarchy
Capturing Goals
Use Cases
Applying Use Cases
ANALYSIS
Sequence
Diagrams
Concurrent
Tasks
Roles
Agent Classes
Conversations
Refining Roles
Creating Agent
Classes
Constructing
Conversations
DESIGN
Agent
Architecture
Deployment
Diagrams
Assembling
Agent Classes
System Design
Figure 43: The MaSE methodology
¾ MASSIVE: The development method of MultiAgent SystemS Iterative View Engineering
was created in an European project in order to support the whole development process of
MAS construction and implementation [Lind 01]. The general MASSIVE view system is
described in the figure 44.
MASSIVE is an iterative development method. The fundamental building blocks are socalled knowbbles as a term being comprised of “knowledge” and “bubbles”. The
48
MASSIVE method is based on an experience factory and uses some helpful technologies
for a considerable implementation such as aspect-oriented programming.
Environment
View
Task
View
System Perspective
Developer Perspective
Agent
Architecture
Architectural
View
Functional
Nonfunctional
Basic Capabilities
System
View
System
Architecture
GUI,
Exception
Handling
Delimination
Deployment,
Performance
Engineering
Dimensions
Structures
Protocol
Design
Society
View
Role
View
Assignment
Generic
Interaction
Structures
Interaction
View
Figure 44: The MASSIVE view system
The UML activity diagram in figure 45 gives an overview about the MASSIVE process.
These main steps of MASSIVE include the usage of the experience dates which will be
used and updated during the developement of MAS in different projects.
not ok
ok
Implement
Apply
Evaluate
not reusable
code exists
no
49
Check Experience
Select Micro
Process Model
Construct
Reuse
yes
fail
First Iteration?
no Experience
exists
Adapt for Reuse
E. exists
Select Test Case
Run Test
Check
Experience
Reuse not ok
Change Code
Reuse ok
No further Test Cases
Project not
Further Test
Cases exist
ok
Select View
Re-Engineer
complete
Project complete
Update Experience
Figure 45: The MASSIVE methodology process description
¾ MStreams: The Mobile Streams is a middleware platform for the development of
distributed multi-agents systems (see [Papadopoulos 01]). It is suitable for applications
that require dynamic configuration. The components (namely mobile agents) synchronise
their co-operation by means of sending and receiving events.
¾ PageSpace: The PageSpace platform (see [Papadopopulos 01]) is a meta-architecture or
reference architecture for developing Internet agents-based application. The composed set
of distributed agents are conceived as comprising three layers: the client layer, the server
layer and the application layer. PageSpace distinguishes some kinds of agents, such as
user interface agents, application agents (that manage the running of some application),
gateway agents (that provide access to the outside world), kernel agents (that perform
management and control tasks) etc.
¾ SIM_AGENT: The SIM_AGENT toolkit [Sloman 99] allows the construction of agents
in which each agent has a multi-component architecture, in which different components
operate in parallel, using different kinds of mechanisms. These can include neural nets or
other reactive mechanisms alongside AI symbol manipulating mechanisms, used for
solving complex planning problems, or for certain metamanagement tasks. A factory
automation system could use a set of reactive procedures to handle routine management
and a deliberative planner to handle novel problems, such as the production of a new
product.
¾ SODA: The Societies in Open and Distributed Agent spaces is a methodology for the
analysis and design of Internet-based applications as multi-agent systems [Omicini 01].
SODA concentrates on inter-agent issues, like the engineering of societies and
infrastructures for multi-agent systems. The main development steps are:
•
Analysis: the role model, the resource model, the interaction model, and the
outcome,
50
•
Design: the agent model, the society model, the environment model, and the
outcome.
Some of these development approaches are evaluated in [Lind 01] based on the following
characteristics:
•
•
•
•
•
Generality: i. e. the range of multi-agent systems that is supported or the commitment to a
particular technology or agent architecture,
Flexibility: which covers aspects such as the extensibility of the method or support for
different process models or tools,
Granularity: captures the level of detail by which system aspect can be modelled and the
supported levels of abstraction,
Formality: e. g. the use of formal methods or well defined semantics of modelling
elements and finally,
Tool support: which summarise available tools for a particular method.
Based on these aspects the following evaluation is derived shown in table 9 (adapted to a
scale of 1 (low) until 10 (high)).
Method
Burmeister
Kinny/Georgeff
DISIRE
MAS-CommonKADS
Gaia
Generality
7
3
9
6
9
Flexibility
4
5
2
8
4
Granularity
3
2
7
10
5
Formality
2
4
6
3
6
Tool support
1
2
2
2
1
Table 9: Evaluation of chosen MAS development methods
Hence, the software quality assurance must be an element of the MAS development
methodologies itself. Therefore, we present an overview about the situation in the following
table which is only based on the description in the literature that we have considered and thus
can be incomplete.
MAS Development
Methodology
AAII
AAOSA
ABROSE
ADK
Agents in Z
Agent UML
Burmeister
Evaluation of
Software Quality
Quality Aspects
Measurement Usage
(more than Testing)
no
no
no
no
no
yes
no
yes
no
no
no
no
no
no
Metrics Repository or
Experience Factory
no
no
no
no
no
no
no
Table 10: SQA characteristics of some MAS development methodologies
MAS Development
Methodology
Evaluation of
Software Quality
Quality Aspects
Measurement Usage
(more than Testing)
Cassiopeia
no
no
DESIRE
no
yes
Formal Methods of AOSE
no
no
Gaia
no
yes
IMPACT
no
yes
51
Metrics Repository or
Experience Factory
no
no
no
no
no
IMPS
JGram
Kinny/Georgeff
MALINA
MAS-CommonKADS
MaSE
MASSIVE
MStreams
PageSpace
SIM_AGENT
SODA
no
no
no
yes
no
no
no
no
no
no
yes
no
no
yes
no
no
yes
no
no
no
no
no
no
no
no
no
yes
no
no
no
Table 10: SQA characteristics of some MAS development methodologies (Cont.)
In the next two sections we will consider some special techniques of MAS specification,
design and implementation and their characteristics according SQA.
1.3.2 MAS Specification
In the following we will consider some special techniques of agent or MAS specification
which are mostly formally.
[Hennessy 99] uses the Milner’s π-calculus in order to define agents as located threads in a
MAS environment. In [Lumpe 00] a modified form of the π-calculus was used in order to
define the object composition language PICCOLA. Objects are a composition of parallel
running agents which are bundled with some restricted locations that serve as the state of the
object.
As another example of these behaviour description, we will give a short overview about the
characteristics of formal specification of software agents. [Sewell 99] describes a two-level
architecture of mobile agents based on the π-Calculus. The main definitions are
•
the agent creation:
•
the agent migration: migrate to s → P .
agent a = P in Q ,
An example of agent behaviour is given in following without any comments.
agent b =
new d in
iflocal <a> c ! d → 0 else 0
in
c ? x → x!
[Li 00] defines an Information Gathering Agent (IGA) which performs the task of collecting
and filtering information. The IGA should be autonomous, social able, reactive and proactive.
A formal description of an intelligent agent is defined by Hendriks et al. [Hendriks 00]
according to the following definitions:
52
•
An intelligent agent is a tuple 〈a, Π, σ, Γ 〉 where a is the name of the agent, Π ⊆ Goal is
called the goal base, σ ∈ ℒ is called the belief base, and Γ ⊆ Rule is a set of plan rules,
also called the rule base.
•
Let ℬ be a set of basic action symbols with typical elements a, a‘, and ℒ be a first-order
language. The set of goals Goal is defined by:
(1) If a ∈ ℬ and t1, t2, ..., tn ∈ T, then a(t1, t2, ..., tn ) ∈ Goal;
(2) At ∈ Goal;
(3) if ϕ ∈ ℒ, then ϕ ? ∈ Goal; and
(4) if π1, π2 ∈ Goal, then (π1; π2 ), (π1 + π2 ) ∈ Goal.
•
The set of plan rules Rule is defined by: if p(t), π ∈ Goal and ϕ ∈ ℒ, then p(t) ← ϕ |
π ∈ Rule. If p(t) ← ϕ | π is a rule, then p(t) is called the head of the rule, ϕ is called the
guard of the rule, and π is called the body of the rule.
A formal model of specification based on Z is given in [Hilaire 00]. The following example
gives a general impression of this kind of formalisation. We consider the following statebased model of concurrent use of two doors.
DOOR1:
deactivate1/inLL
opened
closed
activate1
DOOR2:
deactivate2/outLL
opened
closed
activate2(someoneInLL)
Figure 46: State-based model of the two doors
Therefore, we can define (in Z) the following system characteristics about this model
described in figure 46 that gives us an impression of the agents specification.
LoadLock
someoneInLL: ℝ
INIT
¬ someonInLL
53
inLL
∆ someoneInLL
someoneInLL’
outLL
∆ someoneInLL
¬ someoneInLL’
¬⋄ (instate(DOOR1.opened) ∧ instate(DOOR2.opened)
Role
behavior
attributes: ℙ Attribute
stimulus: ℙ Event
actions: ℙ Action
Interaction
orig == first roles
dest == second roles
roles: Role × Role
content: Event
∀ e ∈ msg•
(e ∈ (dest.stimulus)
∧ (e ∈ orig.actions))
Organization
behavior
roles: ℙ Role
env: ℙ envRole
interactions: ℙ Interaction
∀ i ∈ interactions • (i.orig ∈ roles ∧ i.dest ∈ roles)
A formal model of co-ordination by [Tolksdorf 00]:
“The system to be co-ordinated is represented by a set of decision variables
V = {v1, ..., vn } with values from a set of domains D = {D1, ..., Dn}. Any coordination process leads to an instantiation x of decision variables from
decision space X. In quantitative formal models, a global utility function U:
X → ℜ is associated with each of these instantiations that models how good
54
the system is co-ordinated. The model can be analysed to find an optimum y
∈ X such that ∀x ∈ X : U(x) ≤ U(y), meaning that there is no instantiation
that provides better co-ordination.
For a qualitative mode, a set D of constraints {C1, ..., Cm} is used. The
notion of a consistent instantiation x of decision variables from decision
space is defined by X as y ⊨ C1 ∧ ... ∧ Cm.”
A formal model of agents as an algebra of itineraries is defined by [Loke 01] as follows. Let
A, O and P be finite sets of agent, action and place symbols, respectively. Itineraries
(denoted by ℑ) are now formed as follows representing the null activity, atomic activity,
parallel, sequential, nondeterministic, conditional nondeterministic behaviour, and have the
the following syntax:
ℑ ::= 0 | Aap | (ℑ || ℑ) | (ℑ ⊕ ℑ ) | (ℑ | ℑ ) | (ℑ :Π ℑ )
where A ∈ A, a ∈ O, p ∈ P, ⊕ is an operator which combines an agent with its clone to form
a new agent, an Π is an operator which returns a Boolean value to model conditional
behaviour. The definitions of Π and ⊕ are application-specific. Especially, the atomic activity
includes the mobility characteristics of the agent A which moved his place to p based on the
(mobile) activity a. The parallel, nondeterministic etc. descriptions are related to the agents
execution in a special manner.
In general, formal definition of agent-based systems can be realised by using the process
algebra. [Peled 01] defines such a system as follows. An agent in process algebra is an
abstract description of a system. Process algebra suggests a syntax for describing agents.
Agents are described as term (just as in first order logic), using operators such as sequential
and parallel composition, and nondeterministic choice. The semantics of process algebra
describes how agents evolve (i.e., process or change) during the computation. In process
algebra, there is usually no explicit notion of a state as a mapping of variables to values. An
agent is itself a representation of a state – after executing an action, an agent evolves into
another agent. As an example of agent description the CCS (Calculus of Communicating
Systems) by Milner [Milner 89] can be used. Let α denote an arbitrary element of the action
set, R denote an action subset, f denote a mapping from actions to actions and C denote an
agent variable. Then the definition of an agent in BNF has the form
agent ::= α.agent | agent + agent | agent || agent | agent \ R | agent[f] | (agent) | C | 0
where ‘+’ stands for agents sequence and ‘||’ for a parallel composition of agents.
Indeed, the conglomerate of formal approaches for agent-based systems in [Meyer 99] is a
typical description of the current situation of heterogeneity in this area. We can establish a lot
of interesting and appropriate formal approaches which are not compatible for a whole formal
model and do not consider the technological aspects of MAS.
Hence, the software quality assurance in MAS specification must include methods or
techniques to keep them. The possibility of evaluation can be realised in the formal
specification languages through
55
•
attributing or parsing based on attributed grammars or meta languages,
•
transformations or relations based on homomorphisms into the emprical data set,
•
tuple extensions of the agent description based on quality characteristics or
metrics.
1.3.3 MAS Design and Implementation
In the following we give some examples of techniques in the design of agent-based systems.
An overview about some design methods is given in [Griss 01].
The SDL diagram can be used as an appropriate modelling technique for multi-agent system
components of input and output. The following figure 47 describes the general architecture of
multi-agent systems by [Ferber 99, p. 211].
Agent A1
Message
routing
unit
Agent A2
. . .
Agent An
Figure 47: Architecture of communicating multi-agent systems
Heinz et al. define an UML-based approach for specifying the agent behaviour [Heinz 00]. He
creates an agent use case as “a collection of scenarios about the agent’s interaction with a
system. Each scenario describes a sequence of events which the agent initiates. ... The
diagrammatic notation for an agent use case is the same for a standard UML use case.”
[Laufmann 98] intends for the development of agent-based systems the implementation of an
model of co-ordination which should be explicit, reusable, minimal size and complexity,
wholly separable and readily extensible.
[Janca 98] defines an agent design model which consists of the following main components
or levels as shown in figure 48.
56
Knowledge
Skills
Interfaces
Figure 48: Agent design model
As a special tool support for agent execution, [Georgeff 98] describes a BDI interpreter as
follows:
initialize_state()
repeat
options := option-generator(event-queue);
selected-options := deliberate(options);
update-intentions(selected-options);
execute();
get-new-external-events();
drop-successful-attitudes();
drop-impossible-attitudes();
end repeat
Yoshioka et al. define secure migration patterns in order to modelling the security aspects of
mobile agents [Yoshioka 01]. These patterns are described as sequence charts.
In order to support the MAS design process, [Deugo 01] defines different types of agent
design patterns which are addressed to the following problems:
1.
2.
3.
4.
5.
Blackboard pattern: to ensure the cohesion of a group of specialised agents,
Meeting pattern: to co-ordinate the agents tasks and mediate their activities,
Market maker pattern: to match up buyers and sellers of goods (services or resources),
Master-slave pattern: to delegate subtasks and co-ordinate their execution,
Negotiating agent pattern: to detect and resolve conflicting intentions between agents,
In [Lind 01] a special diagram called sociogram was created and described in order to explain
the MAS structure for a special situation which is shown in the figure 49 and where T is a set
of partitions of the environment for the agent, D is a database that contains the agent’s
acquired knowledge, and A is a set of possible actions of the agent.
reports to
T
D
A
T
controls
D
A
share resources
57
T
D
A
knows
T
T
D
A
knows
D
A
T
D
A
Figure 49: A sociogram of an MAS structure
Sim and Chan have developed a Testbed for agent-based information brokering systems what
is shown is the following figure [Sim 01].
Seller agent
Buyer agent
Blackboard
Advertisement
Queue
Result Queue
Connection
Queue
Record Agent
Recommendation
Agent
Request
Queue
Broker Agent
Record
Database
E-Mail to potentional
Buyers
WWW
Figure 50: An agent-based information brokering testbed
Examples of agent-based system development tools are (see [Kühnel 01] and [Poggi 01]):
•
AgentBuilder (www.agentbuilder.com),
•
ABE (www.research.ibm.com/iagents/ibm_agents.html),
•
Intelligent Agent Factory (www.bitpix.com/iaf/iafintro/iafintro.htm),
58
•
JACK (www.agent-software.com.au/jack.html),
•
JADE (sharon.cselt.it/projects/jade/)
•
JAFMAS (www.ececs.uc.edu/~abaker/JAFMAS/),
•
JAT (java.stanford.edu/java_agent/html/),
•
Zeus (www.labs.bt.com/projects/agents/research/collaborative.htm).
An overview about vendors of intelligent agent technologies is given in [Guilfoyle 98].
Hence, the software quality assurance in MAS design must include techniques and methods
such as
•
attributing the design languages, components or patterns,
•
integration of the evaluation in the different MAS components by agent roles and
responsibilities,
•
extension of the design tools by measurement and evaluation components,
•
involving of evaluation and measurement techniques in the designed agents or
MAS itself.
In order to characterise the empirical bases for MAS measurement and evaluation, we will
present some experience in the next section.
2 EVALUATION AND MEASUREMENT ASPECTS OF
AGENT-BASED SYSTEMS
2.1 Empirical Aspects of Agent-based Systems
Software agents can be applied to solve new types of problems such as [Jennings 98. p. 6/7]
59
•
•
•
dynamic open systems: the structure of the system itself is capable of changing
dynamically and its components are not known in advance, can change over time, and
may be highly heterogeneous,
complex systems: agents represent a powerful tool for making systems modular which is
one kind of the possibility to create and implement such systems,
ubiquity: agents should be autonomous, proactive, responsive, and adaptive to solve basic
problems in co-operation with the user.
But, we can note that the very nature of the agent-based paradigm leads to a number of
problems such as [Jennings 98, p. 10]
•
•
•
no overall system controller which keep global constraints and avoids livelocks and
deadlocks,
no global perspective related to the whole system or to the complete global knowledge,
trust and delegation of agents seeking guidance during the time that work on their behalf.
Integrating software agents in large-scale systems like cyberspace the following difficulties
[Tambe 00] remain:
1. enabling a software developer to locate and recruit relevant agents in the
distributed cyberspace environment is a key challenge;
2. it is unlikely that the recruited agents were built to work together, so appropriate
interagent co-ordination is difficult; the problem is not only in the potentially
large modifications in an open, distributed environment, the problem is
exacerbated if such modifications must be repeated for each new integration;
3. the integrated system must be made robust despite the uncertainties of the
environment, such as dynamic agent failures or unavailability (or dynamic
availability).
On the other hand, we can defined some essential empirical aspects for the evaluation of
multi-agent systems:
•
•
the volume and structure of an agent environment E,
the position in E of the objects O which are active. The status perceived, created,
destroyed and modified of the objects which are passive,
• the level of the assembly of agents, A, which are specific objects, representing the active
entities of the system,
• the intensity of the relations, R, which link objects (and thus agents) to each other,
• the performance of the operations, Op, making it possible for the agents of A to perceive,
produce, consume, transform and manipulate objects from O,
• the complexity of the operators with the task of representing the application of these
operations and the reaction of the world to this attempt at modifications, which we shall
call the laws of the universe.
Some of the experience of multi-agents systems by [Hayzelden 99] are defined as benefits of
the MAS as:
•
“to address problems that are too large for a centralized single agent, for example
because of resource limitations or for robustness concerns (the ability to recover from
fault conditions or unexpected events);
60
•
to enable the reduction of processing costs - it is less expensive (in hardware terms) to use
a large number of inexpensive processors than a single processor with equivalent
processing power;
to allow for the interconnecting and interoperation of multiple existing legacy systems,
e.g. expert systems, decision support systems, legacy network protocols;
to improve scalability - the organizational structure of the agents can dynamically change
to reflect the dynamic environment - i.e. as the network grows in size the agent
organization can re-structure by agents altering their roles, beliefs and actions that they
perform;
to provide solutions to inherently distributed problems, for example, telecommunications
control, air traffic control and workflow management;
to provide solutions which draw from distributed information sources; and
to provide solutions where the expertise is distributed;”
•
•
•
•
•
A general empirical estimation of the success of agents interaction is described in [Ferber 99,
p. 61] as: “We shall consider an interaction situation as being an assembly of behaviors
resulting from the grouping of agents which have to act in order to attain their objectives,
with attention being paid to the more or less limited resources which are available to them
and to their individual skills.”
A detailed definition of a successful agent interaction is defined by [Ferber 99, p. 62] as: “The
goal of an agent, A, is incompatible with that of another agent, B, if agents A and B have, as
their respective goals to be achieved, the states described by p and q respectively, and if p ⇒
¬ q, that satisfies is: (goal (A, p)) ⇒ ¬ satisfies (goal (B, q)).”
Indicators of a co-operative activity by Bourdon in [Ferber 99, p. 71/72] are:
(1) “the co-ordination of actions, which concerns the adjustment of the direction of agents’
actions in time and space;
(2) the degree of parallelism, which depends on the distribution of tasks and their
concurrent execution;
(3) the sharing of resources, which concerns the use of resources and skills;
(4) the robustness of the system, which concerns the system’s aptitude for making up for
any failure by an agent;
(5) the non-redundancy of actions, which characterises the low rate of redundant activities;
(6) the non-persistence of conflicts, which testifies to the small number of blocking
situations.”
The general characteristics of the agent action and behaviour leads us to the following
general empirical aspects of this kind of agent analysis:
•
•
The action characteristics of performance, complexity and quality based on the different
types of forms of agent actions (transformation, influences, processes, modifications,
displacement and command.
The general types of agents with or without memory and knowledge (tropistic agents
and hysteretic agents).
Finally, we define some empirical characteristics related to the mental state and the minds of
software agents as follows:
•
•
The structure and the complexity of the current multi-agent system (interactional,
representational and conative).
The intensity of the motivation of the different kinds of software agents .
61
•
•
The appropriateness of the commitments of agents related to the general system
intention.
The relationship of the software agent intention to each other.
Based on the short remarks in section 1.2.4, we define some empirical characteristics of agent
co-operation and collaboration:
•
•
•
•
•
The level and intensity of communication between software agents.
The kind and the quality of co-ordination between interacting agents.
The intention of collaboration as the basis of the evaluation of agents efficiency.
The volume and the efficiency of the co-operation.
The increase of the agent facilities and knowledge during the collaboration.
Empirical aspects of agents in telecommunication systems by [Hayzelden 99]: “Although
allocation of resources is a major factor to consider when applying agents to
telecommunications there are many others, including: What communication does the agent
have with other agents - try to minimize inter-agent communication so that action resolution
is reached more rapidly? Where should the agent(s) be located (the agent location
granularity)? One agent per node, one per physical link, one to represent each connection?
Should the agents be stationary or mobile? What view of the network does the agent have (the
agent control granularity)? Is it beneficial to have the agent aware of other indirectly related
events occurring in the agents locality. What degree of dependency should there be between
the agents in the system? If an agent 'dies', is the system still robust?”
2.2 Experiences of the Agent-based System Development
Empirical aspects of the software agent technology by [Hayzelden 99]: “There are a number
of obstacles in the way of the wider take-up of agent technology. Chief among these are the
following:
•
Lack of interoperation standards:
We noted at several points throughout this article that work is underway to develop
communication standards for agent systems - the FIPA initiative is probably the best
known of these. Such standards will be essential if agent technology is to achieve its full
potential. At the time of writing, however, there are several other essentially competing
standards for agent communication under development, including the Knowledge Query
and Manipulation Language (KQML), as well as the ongoing Object Management
Group (OMG) effort to standardize on distributed object technology, and the WorldWide Web consortium's Extensible Markup Language (XML). Experience (in particular,
the OSI experience) suggests that interoperation standards in information technology
cannot be dictated - they tend to emerge and are dictated largely by the marketplace. It
therefore remains to be seen what impact agent interoperation standards such as FIPA
will have, and whether they will indeed lead to a greater take-up of agent technology.
•
Lack of methodologies for agent-based development:
Developing any distributed system is difficult - such systems are amongst the most
complex general class of software systems to design and implement. Multi-agent
systems add to the inherent complexity of distributed systems by having heterogeneous,
62
autonomous components, potentially designed and implemented by many different
individuals and organizations. As a result, the multi-agent systems tend to exhibit
unpredictable non-linear behavior, which can be very hard to understand. In order to
master this complexity, methodologies are required for agent systems that enable a
designer to model and understand multi-agent behavior.
•
Lack of understanding of the fit between system and problem:
Agents have been deployed in many application domains, with very different properties.
One of the most important tasks facing the agent research community is to achieve a
better understanding of the characteristics of an application domain that imply an
agent-based solution is appropriate. Too often, agents are applied to a particular
problem without good reason.”
[Schoder 00] describes the general situation in MAS development in following manner: “In
our view, the technical aspects of mobile agents are not the only aspects requiring close
attention. The real challenges lie in complementary concepts for the (self-) control of
populations of mobile agents, such as multiagent systems, able to provide solutions for
application areas characterized by inherently decentralized information. Coping with all of
these challenges will provide the raison d’être and fulfill the promise of mobile agent
technology.”
Also, [Jennings 98, p. 19] defines an agent development bottleneck in the following manner:
„There is little in the way of production-quality software support for building agent
applications, and still less general understanding of the issues that need to be addressed when
building such systems. Worse, most of today’s agent systems are built from scratch, using
bespoke tools and techniques, which cannot easily be applied to other types of system. This is
particularly worrying because a lot of infrastructure is required before the main components
of an agent system can be built. At the moment, most developers rebuild this infrastructure
from scratch in every new case; this process is clearly not sustainable.“
Finally, we can establish new dynamic architectures, new complex components, and new
distributed design technologies, but also new kinds of problems in the area of software
agents.
2.3 Related Work in Measurement of Software Agent and Agent-Based
Systems
We will consider some of the examples about agents measurement in the literature in the
following. In a first description, we will consider the general experience by [Wooldridge 99]
as
•
Political pitfalls: “Agents are a powerful, natural metaphor for conceptualizing,
designing, and implementing many complex, distributed applications. Some tasks,
however, are simply beyond the scope of automation. Indeed, many of the systems that
have been built using agent technology could likely have been built just as easily with
nonagent techniques.
63
. . . Another form of dogma associated with agents relates to their definition. Most agent
developers have their own opinion on exactly what constitutes an agent – and no two
developers appear to share exactly the same opinion.”
•
Management pitfalls: Managers “don’t know why you want agents”. . . . “Another
common pitfall is devising an architecture or testbed that supposedly enables a whole
range of potential systems to be built when what is actually required is a bespoke design
to tackle a single application.”
•
Conceptual pitfalls: The developers “believe in silver bullets”, . . . “forgot that agents are
software”, and “forgot that agents are multithreaded software.”
•
Analysis and design pitfalls: The designer “ignore related technologies”, . . .their “design
doesn’t exploit concurrency”, and it was “ignore legacy”.
•
Agent-level pitfalls: “You want your own agent architecture. . . . Your agents use too
much AI” or “Your agents use no AI”.
•
Society-level pitfalls: Typical extreme views are: “You see agents everywhere” or “You
have too few agents.” This can leads to “obsessing on infrastructure” and a lacking
system structure where the “agents interact too freely.”
Now, we will cite some kinds of software agent measurement approaches addressed to the
MAS product, MAS developement process, and the underlying resources.
Product measurement and evaluation:
•
Coalition evaluation: [Katoh 00] defines a MAS based on a loose coalition which
represents the relations of co-operation among agents by a function of subjective
information of an agent to another one. This function defines a threshold to evaluate
agents whether it should co-operate or not. The measurement of this kind of coalition
considers dynamic properties such as reliability, ability and busyness and is related to the
agent performance.
•
Co-ordination evaluation: [Tolksdorf 00] gives an order scaled evaluation of the coordination of a MAS based on the characteristics interactor distinction, orthogonality of
the co-ordination model, coupling between interactors, interactor autonomy, externality,
awareness, stability, reliability, scalability and usability.
•
Distributed decision measurement of co-ordination: [Barber 00] considers the five types
of agent co-ordination as arbitration, negotiation, mediation, voting and self-modification.
The different kinds of evaluation of these co-ordination types are based on the effort for
searching an agent, for voting and on the voting effort itself.
•
Load management: [Gustavsson 99] describes a simulation of an auction for load
management based on utility agents and customer agents for energy regulation of
HomeBots.
•
Performance evaluation: [Evans 99] defines some formula to estimate the response time,
the time of delay to notify, delete, create and commit by software agents (see also
[Dikaiakos 01], [Dumke 01], and [Wille 01]).
64
•
RPC performance: Based on the Agent Tcl (a mobile-agent system whose agents can be
written in Tcl, Java and Scheme), [Kotz 97] defines the mobility on RPCs which is created
by an Agent Interface Definition Language (AIDL). On the basis of some prototypes the
RPC performance was measured relating to the client stub time, communication time, and
local call time.
•
Size estimation: [Evans 99] executes the total number of links within a network and
within special region boundaries.
•
Utility evaluation: [Tewari 01] describes a user utility function modelling in order to
improve electronic markets. Implementing a Buyer or Seller Valuation Manager (B/SVM)
is based on some generic utility functions such as (ax ± b) or (ax2 ± bx ±c) where x is a
place-holder variable for a value of the flexible attribute over its permissible range and a,
b, c represent arbitrary, non-negative constants. Tewari and Maes initiate some first
applications of this model.
•
Usability level: [Devlin 01] considers a speech technology agent and uses the two
evaluation methods as MUMMS (Measuring the Usability of Multi-Media Software) and
TAM (Technology Acceptance Model) in order to measure some detailed aspects such as
usefulness, efficiency, helpfulness and learnability.
Process measurement and evaluation:
•
ACL evaluation: [Singh 98] defines some criteria to evaluate agent communication
languages for an appropriate use.
•
Behaviour simulation: The MECCA system [Gerber 99] implements a component to
simulate the agents scenarios and interactions.
•
Modelling of agent-based systems: [Falchuk 98] describes twenty icons for the different
types of software agents and six types for the kinds of interactions for a better usability of
the agent-based system modelling.
•
Reasonableness of agent deriving: [Joshi 98] defines a measure for the reasonableness to
automatically generate exemplars to learn the mapping from a problem to an agent.
Resources measurement and evaluation:
•
MAS platform evaluation: [Ricordel 00] describes an evaluation of different MAS
platforms like AgentBuilder, Jack, MadKit and Zeus based on the evaluation criteria for
the support of the analysis, design and development. Each of these criteria is divided in the
subcriteria completeness, applicability, complexity and reusability.
•
Middleware evaluation: [Poslad 99] describes a (nominal) evaluation of the middleware
aspects in agent-based systems.
•
Paradigm evaluation: [Wong 99] motivates for mobile agent implementation with Java.
65
•
Resource allocation simulation: [Bredin 01] defines a simulation model for the resource
allocation for mobil-agent systems. The simulation is based on a swarm simulation system
and evaluates the effectiveness of resource-allocation of a mobil agent during the
switching different cities.
•
Vendor evaluation: [Guilfoyle 98] gives an overview about the CASE level of vendors
using the agent technology.
2.4 Open Problems and Intentions of Quality Assurance in MAS
In the following we summarise the ideas of consideration of software quality assurance
considerations of MAS and MAS development described in the first chapter (see also [Dumke
97a], [Schneidewind 02], and [Weinberg 92]).
SQA intentions of software agents and MAS:
The software quality assurance of software agents includes the aspects such as the quality of
the capability of acting in an environment, the level of communication with other agents, the
quantities of the driven aspects by a set of tendencies, the characteristics of possessed
resources, the kind of capability of perceiving its environment, the characteristics of the
agent-based partial representation of this environment, the quality of the possessed skills and
offered services, the level of the ability to reproduce itself, the kind of the behaviour towards
satisfying its objectives, taking account of the resources.
The software quality assurance of MAS includes the aspects such as reliability, availability
and usability of the environment, the appropriateness and size of the objects, the structure
and efficiency of the agents communities, the performance of the agents operations, and the
stability of the user interaction with the MAS.
The software quality assurance of agent communication addresses the aspects such as the
level of the communication, the intensity or frequency of the communication, the useroriented semantics of the ACL, the appropriateness of the ACL, and the guarantee of the
conversion principles.
The software quality assurance of agents co-operation must considers the aspects such as the
efficiency of the agents interaction, the level of the co-ordination, the quality of the agent
coupling, the reliability of the agent components, the appropriateness of the kinds of agent
actions, the effectiveness of the agent teams and communities, and the level of successes of the
user goal consideration.
The software quality assurance of agent minds, intentions and negotiation should consider
the aspects such as the level of negotiation, the success rate of negotiations, the effeciency of
the agent roles, the appropriateness of the negotiation strategies, the effectiveness of the BDI
application.
The software quality assurance of agent mobility addresses the aspects such as the
performance of agent movements, the appropriateness of the visited cities, the knowledge
about the requirements and supports of the different cities.
66
The software quality assurance of agent organisations must consider the aspects such as the
appropriateness of the different organisation functions, the level of the different organisation
dimensions, the effectiveness of the interoperations in an agent organisation, the performance
of the agents correlation.
The software quality assurance of MAS architectures addresses the aspects such as the
efficiency of the MAS layers, the reliability of the MAS components, the appropriateness of
the chosen platform, the performance of the co-ordination and planning in the MAS, the
usability of the MAS interface, the effectiveness of the MAS integration, the manageability of
the MAS structure, the appropriateness of the MAS architecture granularity.
SQA intentions of MAS development:
The software quality assurance must be an element of the MAS development methodologies
itself.
Furthermore, the software quality assurance in MAS specification must include methods or
techniques to keep them. The possibility of evaluation can be realised in the formal
specification languages through
•
attributing or parsing based on attributed grammars or meta languages,
•
transformations or relations based on homomorphisms into the emprical data set,
•
tuple extensions of the agent description based on quality characteristics or metrics.
Remarkable, the software quality assurance in MAS design must include techniques and
methods such as
•
attributing the design languages, components or patterns,
•
integration of the evaluation in the different MAS components by agent roles and
responsibilities,
•
extension of the design tools by measurement and evaluation components,
•
involving of evaluation and measurement techniques in the designed agents or MAS
itself.
The concrete methods and techniques of SQA are necessary to be selectable by considering
the current paradigm, the type of MAS application, and the platform requirements.
67
3 AGENT TYPES
The following list includes the kinds or types of software agents cited in this paper with the
reference number as page in this preprint.
A
AAOSA agent, 40
Abstract generic agent, 44
Agent community, 25
Agent design pattern, 55
Agent organisation, 27
Agent training, 44
Agent team, 18
Application agent, 48
Artificial life agent, 4
Autonomous agent, 4, 41
Event identification agent, 38
Expert system agent, 36
Extraction agent, 43
F
Fault isolation agent, 38
Filter agent, 34
Fixed network agent, 33
Frequency stability agent, 38
Fusion agent, 36
Fuzzy logic agent, 36
B
BDI agent, 23, 43
Biological agent, 4
Broker agent, 56
Buyer agent, 20, 56
Buying agent, 20
G
Gateway agent, 48
Generation agent, 38
Genetic algorithm agent, 36
Global processing phase agent, 36
Graphical interaction agent, 35
C
Cell agent, 33
Coarse-grained agent, 30
Cognitive agent, 38
Collaborative agent, 32
Combination agent, 36
Command interpretation agent, 38
Computational agent, 4
Control phase agent, 36
Co-operative agent, 41
Customer agent, 33
H
HCVM media agent, 37
Heterogeneous agent, 5, 12
Hidden failure monitoring agent, 38
Holonic agent, 2
Hybrid agent, 28
I
Individual agent, 5
Inference agent, 43
Info agent, 31
Information gathering agent, 51
Intelligent agent, 30, 51
Intelligent network agent, 31
Intelligent physical agent, 15
Interface agent, 31, 32
Intermediary agent, 20
D
Decision phase agent, 36
Decomposition phase agent, 36
Deliberative agent, 28
Distributed Comm. & Processing agent, 36
Dynamic agent, 13
E
Entertainment agent, 4
Event/alarm filtering agent, 38
K
Kernel agent, 48
68
L
Locator agent, 34
Service supplier agent, 33
Shine agent, 30
Situation monitoring agent, 34
Smart agent, 32
Software agent, 4
Supervised neural network agent, 36
M
MAF agent, 31
Media agent, 36
Middle agent, 18, 31
Mobile agent, 25, 34, 38, 50
Model update agent, 38
T
Task agent, 31
Task specific agent, 4
Telescript agent, 13
Transformation agent, 36
Transaction scheduling agent, 35
N
Network agent, 13
O
Ontology construction agent, 43
U
Upper respiratory decision agent, 36
User interface agent, 29, 48
P
Parent agent, 36
Planning agent, 38
Postprocessing phase agent, 36
Proactive agent, 41
Protection agent, 38
V
Vulnerability assessment agent, 38
X
XML agent, 36
R
Reactive agent, 28
Reconfiguration agent, 38
Record agent, 56
Responsible agent, 32
Restoration agent, 38
Retrieval agent, 34
Risk averse agent, 19
Risk neutral agent, 19
Risk seeking agent, 19
Robotic agent, 4
S
Scheduling processing agent, 35
Scheduling repairing agent, 35
SciAgent, 17
Self organizing agent, 36
Seller agent, 20, 56
Selling agent, 20
Server agent, 43
Service agent, 33
69
4 ACRONYMS
A
AAII
AAOSA
ABE
ABROSE
ABSE
ACML
ACL
ADEPT
ADK
AIDL
AOP
AOSE
AR
ASL
Australian Artificial Intelligence Institute
Adaptive Agent Oriented Software Architecture
Agent Building Environment
Agent-Based Brokerage Services in Electronic Commerce
Agent-Based Software Engineering
Agent Communication Markup Language
Agent Communication Language
Advanced Decision Environment for Process Tasks
AgentBean Development Kit
Agent Interface Definition Language
Agent-Oriented Programming
Agent-Oriented Software Engineering
Agent Relocation
Agent Service Layer
B
BDI
BVM
Belief Desire Intention
Buyer Valuation Manager
C
CA
CCS
COOL
CORBA
Certification Authority
Claculus of Communicating Systems
CO-Ordination Language
Common Object Request Broker Architecture
D
DESIRE
DM
DMARS
DEsign and Specification of Interacting REasoning components
Database Manager
Multi-Agent Reasoning System
E
ECOMAS
Evolutionary Computation and Multi-Agent Systems
F
FIPA
FLBC
FNA
Foundation for Intelligent Physical Agents
Formal Language for Business Communication
Fixed Network Agent
H
HCVM
Human-Centred Virtual Machine
I
IGA
IMPACT
IMPS
Information Gathering Agent
Imperative Maryland Platform for Agents Collaborating Together
Internet-based Multi Agent Problem Solving
J
JADE
Java Agent DEvelopment
70
JADL
JAFMAS
JAT
JDL
JIAC
JIAC Agent Description Language
JAva-based Framework for Multi-Agent Systems
Java Agent Template
JGram Description Language
Java Intelligent Agent Componentware
K
KADS
KB
KBS
KIF
KLAIM
KQML
Knowledge Analysis and Design System
Knowledge Base
Knowledge-Based System
Knowledge Interchange Format
Kernel Language for Agent Interaction and Mobility
Knowledge Query and Manipulation Language
L
LGI
Low-Governed Interaction
M
MA
MadKit
MALINA
MARI
MAS
MaSE
MASIF
MASSIVE
MCC
MCM
MIF
MM
MUMMS
Mobility Assignment
Multi-agent development Kit
Multi-Agent Local Integrated Network Associations
Multi-Attribute Resource Intermediary
Multi-Agent System
Multiagent Systems Engineering
Mobil Agent System Interoperability Facility
Multi-Agent SystemS Iterative View Engineering
Mobolity Conditions Check
Market Cycle Manager
Market Internet Format
Match Maker
Measuring the Usability of Multi-Media Software
O
OHM
OOA
OOD
OOP
OOSE
ORB
Optimisation Heuristic Manager
Object-Oriented Analysis and specification
Object-Oriented Design
Object-Oriented Programming
Object-Oriented Software Engineering
Object Request Broker
P
PDA
PICCOLA
PLACA
PRS
Personal Digital Assistent
Pi Calculus based Composition LAnguage
PLAnning Communication Agents language
Procedural Reasoning System
R
RATSINA
RPC
Reusable Task Structure based Intelligent Network Agents
Remote Procedure Call
71
S
sACL
SDL
SI
SNMP
SODA
SQA
SVM
small ACL
Specification and Design Language
Static Infrastructure
Simple Nedtwork Management Protocol
Societies in Open and Distributed Agent spaces
Software Quality Assurance
Seller Valuation Manager
T
TAM
Technology Acceptance Model
U
UIM
UML
UNM
USM
User Interface Manager
Unified Modeling Language
User Notification Manager
User Status Manager
V
VFG
VFT
Valuation Function Generalizer
Valuation Function Trainer
3APL
An Abstract Agent Programming Language
72
5 MAS WEB LINKS
We will give a presentation about some of the plenty of Web sites related to software agents
divided in general information, systems and projects.
URLs to general information about software agents:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
http://www.agent.org/
http://www.agentcom.org/agent.com/
http://cui.unige.ch/tios/msgr/agents/overview.html
http://ivs.cs.uni-magdeburg.de/~dumke/STV/ST3-06.html
http://www.cs.bham.ac.uk/~amw/agents/index.html
http://www.irisa.fr/prive/sahai/
http://www.media.mit.edu/~nelson/research/routes-coopagents/
http://www.sics.se/ps/abc/survey.html
http://www.compinfo.co.uk/tpagnt.htm
http://www.informatik.th-darmstadt.de/~fuenf/work/agenten/agenten.html
http://www.ai.iit.nrc.ca/subjects/Agents.html
http://www.cs.wpi.edu/Research/airg/Agents-hotlist.html
http://www.Agent-Link.org
http://www.csee.embc.edu/aw/
URLs about agents implementation languages:
•
•
•
•
•
•
•
•
AgentBuilder Framework: http://www.agentbuilder.com/
Agent-Tcl: http://www.cs.dartmouth.edu/~agent/agenttcl.htm
KQML: http://www.cs.umbc.edu/kqml/papers/
Obliq: http://www.research.digital.com/SRC/personal/Luca_Cardelli/Obliq/Obliq.html
Python: http://www.python.org/
Safe-Tcl: http://www.smli.com/research.tct
Scheme-48: http://photo.net/~jar/s48.html
Telescript: http://www.genmagic.com/Telescript/Whitepaper/wp4/whitepaper-4.html
URLs about agent-based system development and standards:
•
•
•
•
•
•
•
•
•
•
•
•
•
FIPA specifications: http://www.fipa.org/
Grashopper platform: http://www.ivk.de/
IBM Aglets: http://www.trl.ibm.co.jp/aglets/
Java-to-go: http://ptolemy.eecs.berkeley.edu/~wli/group/java2go/java-to-go.html
JAFMAS toolkit: http://www.esecs.uc.edu/~abaker/JAFMAS
JATLite toolkit: http://java.standford.edu/
JINI framwwork: http://java.sun.com/products/jini/index.html
MARI: http://www.media.mit.edu/gtewari/MARI/
OMG standards: http://www.omg.org/
SE: http://www.cs.vu.nl/~treur/SIG.meth0.html
SIM-Agent: ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/
Voyager: http://www.pts.com/voyager.cfm
WinWin model: http://sunset.usc.edu/WinWin/winwin.html
URLs about agent-based systems:
•
•
•
•
•
AgentBuilder: http://www.agentbuilder.com/
AgentCAC (control for ATM network): http://www.elec.qmw.ac.uk/dai/projects/ agentCAC/
Assistant systems: http://lieber.www.media.mit.edu/people/lieberary/letizia/letizia.mov
BT Mobile agents for routing: http://www.labs.bt.com/library/papers/
Cooperation systems: http://www.firefly.com
73
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
CyberAgent: http://www.ftp.com/cyberagents/
ECOMAS: http://www.csm.uwe.ac.uk/~rsmith/ECOMAS/agent_toolkit_list_(courtesi_of_bt).htm
E-Commerce: http.//www.shopfido.com/, http://www.jango.com, http://b5www.berkom.de/ ABROSE/
Frictionless ValueShopper: http://compare.frictionless.com/
HP 'Ants based routing: http://www-uk.hpl.hp.com/
HP Market based control: http://www.hpl.hp.com/techreports/98/
Jack: http://www.agent-software.com.au/
MadKit: http://www.madkit.org/
Meta browser: http://www.metacrawler.com/, http://meta.rrzn.uni-hannover.de
NetChaser: http://osweb.iit.unict.it/ARCA/
News watcher: http://www.backweb.com/, http://www.pointcast.com/
Personalogic: http://www.personalogic.com
PYTHIA: http://www.cs.purdue.edu/research/cse/pythia/
Retrievel agents: http://www.verity.com/
Tele-MACS: http://www.agentcom.org/agentcom/
Telescript-based definition of personell shares portfolios: http://www.genmagic.com/
TINA-C homepage: http://www.tinac.com/
Zeus: http://www.labs.bt.com/projects/agents/zeus/
URLs about projects relating to software agents:
•
•
•
•
•
•
•
•
•
•
•
•
•
•
ABROSE project: http://b5www.berkom.de/ABROSE/
ACT IMPACT project: http://www.acts-impact.org/impact/
DFG, Germany: http://www.wirtschaft.tu-ilmenau.de/wi/wi2/ECAT2000-AOSM/
dMARS project: http://www.aaii.oz.au/proj/dMARS-prod-brief.html
Eurescom project: http://www.euroescom.de/public/Projects/
MAGNA Project: http://www.fokus.gmd.de/oks/research/magna_e.html
MAS in Project Management: ftp://fireflow.com/Agent98.zip
MIT Media Lab: http://agents.www.media.mit.edu/groups/agents/
Stanford University: http://logic.stanford.edu/
Tacoma (Norway/U.S.A.): http://www.cs.uit.no/DOS/Tacoma/
University of Kaiserslautern: http://www.uni-kl.de/AG-Nehmer/Ara/
University of Potsdam: http://samuel.cs.uni-potsdam.de/soft/taxt/home.html#mission
WARREN project: http://www-2.cs.cmu.edu/~softagents/warren.html
WebCrawler: http://info.webcrawler.com/mak/projects/robots/robots.html
URLs about software agent related conferences and communities:
•
•
•
•
•
•
•
AgentLink: http://www.agentlink.org/newsletter/
Agent Systems in the ECBS: http://www.agentlink.org/
Agents 2000: http://www.iiia.csic.es/agents2000/
Canadian workshop: http://www.acs.ucalgary.ca/~wshen/workshop1.htm
DAI Digest: http://www.cs.cmu.edu/~softagents/DAIlist/
Overview: http://www.csee.embc.edu/aw/Conferences_and_workshops/index.shtml
UMBC AgentNews: http://agents.umbc.edu/agentnews/
74
6 REFERENCES
[Agha 01] Agha, G.; Jamali, N.; Varela, C.: Agent Naming and Coordination: Actor Based Models and
Infrastructures. In: [Ominici 01], pp. 225-246
[Aïmeur 01] Aïmeur, E.: Strategic Use of Conflicts in Tutoring Systems. In [Tessier 01], pp. 223-250
[Arnold 99] Arnold, K.; O’Sullivan, B.; Scheifler, R. W.; Waldo, J.; Wollrath, A.: The Jini Specification.
Addison Wesley Publ., 1999
[Barber 00] Barber, K. S.; Han, D. C.; Liu, T. H.: Coordinating Distributed Decision Making Using Reusable
Interaction Specification. In: Zhang/Soo: Design and Applications of Intelligent Agents, Lecture Notes in
Artificial Intelligence 1881, Springer Publ. 2000, pp. 1-15
[Barbosa 01] Barbosa, G. P.; Silva, F. Q. B.: An Electronic Marketplace Architecture Based on Technology of
Intelligent Agents and Knowledge. In [Liu 01], pp. 39-58
[Barbuceanu 00] Barbuceanu, M.; Lo, W.: Conversation Oriented Programming for Agent Interaction. In:
[Dignum 00], pp. 220-234
[Basili 86] Basili, V. R. et al.: Experimentation in Software Engineering. IEEE Transactions on Software
Engineering, 12(1986)7, pp. 733-743
[Bauer 01] Bauer, B.; Müller, J. P.; Odell, J.: Agent UML: A Formalism for Specifying Multiagent Software
Systems. In: [Ciancarini 01], pp. 91-103
[Bellavista 01] Bellavista, P.; Magedanz, T.: Middleware Technologies: CORBA and Mobile Agents. In:
[Ominici 01a], pp. 110-152
[Bradshaw 01] Bradshaw, J.M. et al.: Terraforming Cyberspace. IEEE Computer, July 2001, S. 48-56
[Brazier 99] Brazier, F.; Dunin-Kepliz, B.; Treur, J.; Verbrugge, R.: Modelling Internal Dynamic Behaviour of
BDI Agents. In [Meyer 99], pp. 36-56
[Bredin 01] Bredin, J.; Kotz, D.; Rus, D.; Maheswaran, R. T.; Immer, C.; Basar, T.: A Market-Based Model for
Resource Allocation in Agent Systems. In: [Ominici 01a], pp. 426-442
[Brenner 98] Brenner, W. et al.: Intelligente Softwareagenten – Grundlagen und Anwendungen. Springer Publ.,
1998
[Bryce 01] Bryce, C.; Cremonini, M.: Coordination and Security on the Internet. In [Ominici 01a], pp. 274-298
[Bush 00] Bush, G.; Purvis, M.; Cranefiled, S.: Experience in the Development of an Agent Architecture. . In:
Zhang/Soo: Design and Applications of Intelligent Agents, Lecture Notes in Artificial Intelligence 1881,
Springer Publ. 2000, pp. 76-87
[Busuioc 99] Busuioc, M. N.: Distributed Intelligent Agents – A solution for the Management of Complex
Telecommunications Services. In [Hayzelden 99, S. 112-129]
[Cabri 00] Cabri, G.; Leonardi, L.; Zambonelli, F.: Context-Dependency in Internet-Agent Co-ordination. . In:
Omicini/Tolksdorf/Zambonelli: Engineering Societies in the Agent World, Lecture Notes in Artificial
Intelligence 1972, Springer Publ. 2000, pp. 51-63
[Case 01] Case, S.; Azarmi, N.; Thint, M.; Ohtani, T.: Enhancing E-Communities with Agent-Based Systems.
IEEE Computer, July 2001, S. 64-69
[Ciancarini 01] Ciancarini, P.; Wooldridge, M. J.: Agent-Oriented Software Engineering. Springer Publ., 2001
[Cockayne 97] Cockayne, W.; Zyda, M.: Mobile Agents. Manning Publ., 1997 (see also
http://www.manning.com/Cockayne/)
[Collins 01] Collins, J. et al.: Decision Processes in Agent-Based Automated Contracting. IEEE Internet
Computing, March/April 2001, S. 61-72
[Darbyshire 00] Darbyshire, P.; Lowry, G.: An Overview of Agent Technology and its Application to Subject
Management. Proc. of the IRMA International Conference, Anchorage, Alaska, May 21-24, 2000, pp.
509-512
[Devlin 01] Devlin, M.; Scott, T.: Using a Speech Technology Agent as an Interface for E-Commerce. In [Liu
01], pp. 332-346
[Deugo 01] Deugo, D.; Weiss, M.; Kendall, E.: Reusable Patterns for Agent Coordination. In: [Ominici 01], pp.
347-368
[Dignum 00] Dignum, F.; Greaves, M.: Issues in Agent Communication. Lecture Notes in Computer Science
1916, Springer Publ., 2000
[Dikaiakos 01] Dikaiakos, M.D.; Samaras, G.: Performance Evaluation of Mobile Agents: Issues and
Approaches. In: Dumke et al.: Performance Engineering, Lecture Notes in Computer Science 2047, pp.
148-166
[Divitini 01] Divitini, M.; Hanachi, C.; Sibertin-Blanc, C.: Inter-Organizational Workflows for Enterprise
Coordination. In: [Ominici 01], pp. 369-398
[Drashansky 99] Drashansky, T.; Houstis, E. N.; Ramakrishnan, N.; Rice, J. R.: Networked Agents for Scientific
Computing. Comm. of the ACM, 42(1999)3, pp. 48-54
[Dumke 97] Dumke, R.; Foltin, E.: Metrics-based Evaluation of Object-Oriented Software Development
Methods. Preprint Nr. 10, Otto-von-Guericke University of Magdeburg, 1997
75
[Dumke 97a] Dumke, R., R.; Grigoleit, H.: Usefulness of CAME tools in software quality assurance. in Hawkins
et a.: Software Quality Management, MEP Publ., London, pp. 291-303
[Dumke 00] Dumke, R.; Koeppe, R.; Wille, C.: Software Agent Measurement and Self-Measuring Agent-Based
Systems. Preprint Nr. 11, Fakultät für Informatik, Otto-von-Guericke-Universität Magdeburg, 2000
[Dumke 00a] Dumke, R.; Schmietendorf, A.; Stojanov, S.: Komponentenorientierte Entwicklung verteilter
Multiagenten-Applikationen. Tagungsband des 2. Workshop komponentenorientierte betriebliche
Anwendungssysteme (WKBA 2), Februar 2000, Wien, S. 69-79
[Dumke 01] Dumke, R.; Wille, C.: Performance Engineering für Software-Agenten. Tagungsband des 2.
Workshop Performance Engineering, 26.4.01, München, S. 33-46
[Durfee 01] Durfee, H.E.: Scaling Up Agent Coordination Strategies. IEEE Computer, July 2001, S. 39-46
[Evans 99] Evans, R. et al.: A Multi-Agent System Architecture for Scalable Management of High Performance
Networks: Applying Arms Length Autonomy. In [Hayzelden 99, pp. 86-111]
[Falchuk 98] Falchuk, B.; Karmouch, A.: Visual Modeling for Agent-Based Applications. IEEE Computer,
December 1998, pp. 31-38
[Ferber 99] Ferber, J.: Multi-Agent Systems – An Introduction to Distributed Artificial Intelligence. Addison
Wesley Publ., 1999
[Finin 94] Finin, T.; Weber, J.; Wiederhold, G.; Genesereth, M.: Specification of the KQML AgentCommunication Language. The DARPA Knowledge Sharing Initiative External Interfaces Working
Group, University of Toronto, 1994
[Freeman 99] Freeman, E.; Hupfer, S.; Arnold, K.: JavaSpaces – Principles, Patterns, and Practice. Addison
Wesley Publ., 1999
[Fricke 01] Fricke, S.; Bsufka, K.; Keiser, J.; Schmidt, T.; Sesseler, R.; Albayrak, S.: Agent-Based Telematic
Services and Telecom Applications. Comm. of the ACM, 44(2001)4, pp. 43-48
[Georgeff 98] Georgeff, M.; Rao, A.: Rational Software Agents: From Theory to Practice. In: [Jennings 98, pp.
139-160]
[Gerber 99] Gerber, C. et al.: Resource Adaptation for a Scalable Agent Society in the MoTiV-PTA Domain. In
[Hayzelden 99, pp. 183-206]
[Glushko 99] Glushko, R. J.; Tenenbaum, J. M.; Meltzer, B.: An XML Framework for Agent-based E-commerce.
Comm. of the ACM, 42(1999)3, pp. 106-114
[Greaves 00] Greaves, M.; Holmback, H.; Bradshaw, J.: What Is a Conversation Policy? In. [Dignum 00], pp.
118-131
[Griss 01] Griss, M.L.; Pour, G.: Accelerating Development with Agent Components. IEEE Computer, May
2001, S. 37-43
[Grosof 00] Grosof, B. N.; Labrou, Y.: An Approach to Using XML and a Rule-Based Content Language with an
Agent Communication Language. In: [Dignum 00], pp. 96-117
[Guilfoyle 98] Guilfoyle, C.: Vendors of Intelligent Agent Technologies: A Market Overview. In [Jennings 98,
pp. 91-104]
[Gustavsson 99] Gustavsson, R.: Agents with Power. Comm. of the ACM, 42(1999)3, pp. 41-47
[Hattori 99] Hattori, F.; Ohguro, T.; Yokoo, M.; Matsubara, S.; Yoshida, S.: Socialware: Multiagent System for
Supporting Network Communities. Comm. of the ACM, 42(1999)3, pp. 55-61
[Haugeneder 98] Haugeneder, H.; Steiner, D.: Co-operating Agents: Concepts and Applications. In: [Jennings
98], pp. 175-202
[Hayzelden 99] Hayzelden, A.L.G.; Bigham, J.: Software Agents for Future Communication Systems. Springer
Publ., 1999
[Heinz 00] Heinz, C.; Papasimeon, M.; Goss, S.: Specifying Agent Behavior with Use Cases. . In: Zhang/Soo:
Design and Applications of Intelligent Agents, Lecture Notes in Artificial Intelligence 1881, Springer
Publ. 2000, pp. 128-142
[Hendriks 00] Hendriks, K. V.; de Boer, F. S.; van der Hoek, W.; Meyer, J. C.: Semantics of Communication
Agents Based on Deduction and Abduction. In [Dignum 00], pp. 63-79
[Hennessy 99] Hennessy, M.; Riely, J.: Type-Safe Execution of Mobile Agents in Autonomous Networks. In:
Vitek/Jensen: Secure Internet Programming, LNCS 1603, Springer Publ., 1999, pp. 95-115
[Hilaire 00] Hilaire, V.; Koukam, A.; Gruer, P.; Müller, J.: Formal Specification and Prototyping of Multi-agent
Systems. . In: Omicini/Tolksdorf/Zambonelli: Engineering Societies in the Agent World, Lecture Notes in
Artificial Intelligence 1972, Springer Publ. 2000, pp. 114-127
[Huhns 01] Huhns, M., N.: Interaction-Oriented Programming. In: [Wooldridge 01], pp. 29-44
[Huhns 98] Huhns, M. N.; Singh, M. P.: Managing Heterogeneous Transaction Workflows with Co-operating
Agents. In: [Jennings 98], pp. 219-239
[Jain 99] Jain, A. K.; Aparicio IV, M.; Singh, M. P.: Agents for Process Coherence in Virtual Enterprises.
Comm. of the ACM, 42(1999)3, pp. 62-69
[Janca 98] Janca, P. C.; Gilbert, D.: Practical Design of Intelligent Agent Systems. In: [Jennings 98, pp. 73-89]
[Jennings 01] Jennings, N.R.: An Agent-Based Approach for Building Complex Software Systems. Comm. Of the
ACM, 44(2001)4, S. 35-41
76
[Jennings 98] Jennings, N. R.; Wooldridge, M. J.: Agent Technology – Foundation, Applications, and Markets.
Springer Publ., 1998
[Jeon 00] Jeon, H.; Petrie, C.; Cutkosky, M. R.: JATLite: A Java Agent Infrastructure with Message Routing.
Internet Computing, March/April 2000, pp. 87-96
[Joshi 98] Joshi, A.; et al.: Multiagent system support of networked scientific computing. Internet Computing,
May/June 1998, pp. 69-83
[Jung 01] Jung, M.; Tambe, M.: Conflicts in Agent Teams. In [Tessier 01], pp. 153-168
[Katoh 00] Katoh, T.; Kinoshita, T.; Shiratori, N.: Dynamic Properties of Multiagent Based on a Mechanism of
Loose Coalition. . In: Zhang/Soo: Design and Applications of Intelligent Agents, Lecture Notes in
Artificial Intelligence 1881, Springer Publ. 2000, pp. 16-30
[Kearney 98], Kearney, P.: Personal Agents: A Walk on the Client Side. In: [Jennings 98, pp. 125-136
[Kendall 01] Kendall, E. A.: Agent Software Engineering with Role Modelling. In: [Ciancarini 01], pp. 163-169
[KIF 98] Knowledge Interchange Language: http://logic.stanford.edu/kif/kif.html
[Klusch 01] Klusch, M.; Sycara, K.: Brokering and Matchmaking for Coordination of Agent Societies: A Survey.
In: [Ominici 01a], pp. 197-224
[Knapik 98] Knapik, M.; Johnson, J.: Developing Intelligent Agents for Distributed Systems. McGraw-Hill, 1998
[Koblick 99] Koblick, R.: Concordia. Comm. Of the ACM, 42(1999)3, pp. 96-99
[Koshla 00] Koshla, R.; Sethi, I. K.; Damiani, E.: Intelligent Multimedia Multe-Agent Systems – A Human
Centered Approach. Kluwer Academic Publishers, 2000
[Kotz 97] Kotz, D.; Gray, R.; Nog, S.; Rus, D.; Chwala, S.; Cybenko, G.: AGENT TCL: Targeting the Needs of
Mobile Agents. Internet Computing, July/August 1997, pp. 58-66
[Kühnel 01] Kühnel, R.: Agentenbasierte Softwareentwicklung. Addison-Wesley Publ., 2001
[Lange 98] Lange, D. B.; Oshima, M.: Programming and Developing Java Mobile Agents with Aglets. AddisonWesley Publ., 1998
[Labrou 97] Labrou, Y.; Finin, T.: A Proposal for a new KQML Specification. University of Maryland Baltimore
County, 1997 (http://www.cs.umbc.edu/kqml/)
[Laufmann 98] Laufmann, S.C.: Agent Software for Near-Term Success in Distributed Applications. In:
[Jennings 98, pp. 49-69]
[Li 00] Li, T.; Seng, C.; Lam, K.: A Secure Route Structure forInformation Gathering Agent. . In: Zhang/Soo:
Design and Applications of Intelligent Agents, Lecture Notes in Artificial Intelligence 1881, Springer
Publ. 2000, pp. 101-114
[Lind 01] Lind, J.: Iterative Software Engineering for Multiagent Systems. LNAI 1994, Springer Publ., 2001
[Liu 01] Liu, J.; Ye, Y.: E-Commerce Agents – Marketplace Solutions, Security Issues, and Supply and Demand.
LNAI 2033, Springer Publ., 2001
[Loke 01] Loke, S. W.; Zaslavski, A.: Towards Distributed Workflow Enactment with Itineraries and Mobile
Agent Management. In [Liu 01], pp. 283-294
[Lumpe 00] Lumpe, M.; Ackermann, F.; Nierstrasz, O.: A Formal Language for Composition. In:
Leavens/Sitaraman: Foundations of Component-Based Systems, Cambridge Press, 2000, pp. 69-90
[Maes 94] Maes, P.: Agents that Reduce Work and Information Overload. CACM, 37/1994)7, pp. 84-86
[Maes 99] Maes, P.; Guttman, R. H.; Moukas, A. G.: Agents That Buy and Sell. Comm. of the ACM, 42(1999)3,
pp. 81-91
[Massoud 00] Massoud, A.: Toward Self-Healing Infrastructure Systems. IEEE Computer, August 2000, pp. 4453
[Meyer 99] Meyer, J. C.; Schobbens, P.: Formal Models of Agents. LNAI 1760, Springer Publ., 1999
[Miles 01] Miles, S.; Joy, M.; Luck, M.: Designing Agent-Oriented Systems by Analysing Agent Interactions. In:
Wooldridge/Ciancarini: Agent-Oriented Software Engineering, Lecture Notes in Computer Science 1957,
Springer Publ., 2001, S. 171-183
[Milner 89] Milner, R.: Communication and Concurrency. Prentice Hall Publ., 1989
[Moore 00] Moore, S. A.: On Conversation Policies and the Need for Exceptions. In: [Dignum 00], pp. 144-159
[Moro 00] Moro, G.; Viroli, M.: On Observing and Constraining Active Systems. In:
Omicini/Tolksdorf/Zambonelli: Engineering Societies in the Agent World, Lecture Notes in Artificial
Intelligence 1972, Springer Publ. 2000, pp. 34-50
[Müller 01] Müller, J.: Konzeption und prototypische Implementation einer Qualitätsbewertung für
agentenbasierte Softwaresysteme am Beispiel der Software-Aglets. Diplomarbeit, Universität Magdeburg,
2001
[Murch 00] Murch, R.; Johnson, T.: Agententechnologie: Die Einführung. Addison Wesley Publ., 2000
[Nicola 00] Nicola, R. de; Ferrari, G.; Pugliese, R.: Types as Specifications of Access Policies. In:
Leavens/Sitaraman: Foundations of Component-Based Systems, Cambridge Press, 2000, pp. 117-146
[Nwana 98] Nwana, H. S.; Ndumu, D. T.: A Brief Introduction to Software Agent Technology. In: [Jennings 98],
pp. 29-47
[Nwana 99] Nwana, H. S.; Ndumu, D. T.: Agents of Change in Future Communication Systems. In: [Hayzelden
99], pp. 58-85
77
[Odell] Odell, J. J.; Parunak, H. v. D.; Bauer, B.: Representing Agent Interaction Protocols in UML. In:
[Ciancarini 01], pp. 121-140
[Ominici 01] Ominici, A.: SODA: Societies and Infrastructures in the Analysis and Design of Agent-Based
Systems. In: [Ciancarini 01], pp. 185-193
[Ominici 01a] Ominici, A.; Zambonelli, F.; Klusch, M.; Tolksdorf, R.: Coordination of Internet Agents –
Models, Technologies, and Applications. Springer Publ., 2001
[Papadopoulos 01] Papadopoulos, G. A.: Models and Technologies for the Coordination of Internet Agents: A
Survey. In: [Omicini 01a], pp. 25-56
[Papazoglou 01] Papazoglou, M.P.: Agent-Oriented Technology in Support of E-Business. Comm. of the ACM,
44(2001)4, S. 71-77
[Parunak 00] Parunak, H. van D.; Brueckner, S.; Sauter, J.; Matthews, R.S.: Distinguishing Environmental and
Agent Dynamics: A Case Study in Abstraction and Alternate Modeling Technologies. In: Ominici et al.:
Engineering Societies in the Agent World. Lecture Notes in Artificial Intelligence 1972, Springer Publ.,
2000, S. 19-33
[Peled 01] Peled, D. A.: Software Reliability Methods. Springer Publ., 2001, p. 215 ff.
[Petrie 01] Petrie, C.: Agent-Based Software Engineering. In. [Ciancarini 01], pp. 59-75
[Phillips 00] Phillips, L. R.; Link, H. E.: The Role of Conversation Policy in Carrying Out Agent Conversations.
In: [Dignum 00], pp. 132-143
[Pitt 00] Pitt, J.; Mamdani, A.: Communication Protocols in Multi-agent Systems: A Development Method and
Reference Architecture. In: [Dignum 00], pp. 160-177
[Pitt 00a] Pitt, J.; Mamdani, A.: Some Legal Aspects of Inter-agent Communication: From the Sincerity
Condition to ‘Ethical’ Agents. In: [Dignum 00], pp- 46-62
[Poggi 01] Poggi, A.; Rimassa, G.: Adding Extensible Synchronization Capabilities to the Agent Model of a
FIPA Compliant Agent Platform. In: [Ciancarini 01], pp. 307-321
[Poslad 99] Poslad, S. et al.: Agent-Oriented Middleware for Integrating Customer Network Services. In
[Hayzelden 99], pp. 221-246
[Preist 99] Preist, C.: Economic Agents for Automated Trading. In [Hayzelden 99], pp. 207-219
[Romão 01] Romão, A.; Mira da Silve, M.: Secure Mobile Agent Digital Signature with Proxy Certificates. In
[Liu 01], pp. 206-220
[Ricordel 00] Ricordel, P.; Demazeau, Y.: From Analysis to Deployment: A Multi-agent Platform Survey. In:
Ominici et al.: Engineering Societies in the Agent World. Lecture Notes in Artificial Intelligence 1972,
Springer Publ., 2000, S. 93-105
[Rossi 01] Rossi, D.; Cabri, G.; Denti, E.: Tuple-based Technologies for Coordination. In: [Ominici 01a], pp.
83-109
[Sandholm 00] Sandholm, T.; Huai, Q.: Nomad: Mobile Agent System for an Internet-Based Auction House.
Internet Computing, March/April 2000, pp. 80-86
Schneidewind 02] Schneidewind, N. F.: Body of Knowledge for Software Quality Measurement. IEEE
Computer, February 2002, pp. 77-83
[Schoder 00] Schoder, D.; Eymann, T.: The Real Challenges of Mobile Agents. Comm. Of the ACM, 43(2000)6,
pp. 111-112
[Sewell 99] Sewell, P. et al.: Location-Independent Communication for Mobile Agents: A Two-Level
Architecture. In: Bal/Cardelli: Internet Programming Languages. LNCS 1686, Springer Publ., 1999, pp.
1-31
[Shehory 01] Shehory, O.: Software Architecture Attributes of Multi-agent Systems. In: [Ciancarini 01], pp. 7790
[Sim 01] Sim, K. M.; Chan, R.: A Brokering Protocol for Electronic Trading. In [Liu 01], pp. 83-105
[Singh 98] Singh, M. P.: Agent Communication Languages: Rethinking the Principles. IEEE Computer, , Dec.
1998, pp. 40-47
[Singh 00] Singh, M. P.: A Social Semantics for Agent Communication Languages. In: [Dignum 00], pp. 31-45
[Sloman 99] Sloman, A.; Logan, B.: Building Congitively Rich Agents Using the SIM_AGENT Toolkit. Comm.
of the ACM, 42(1999)3, pp. 71-77
[Solingen 99] Solingen, v. R.; Berghout, E.: The Goal/Question/Metric Method. McGraw Hill Publ., 1999
[Stefano 00] Stefano, A. di, Santoro, C.: NetChaser: Agent Support for Personal Mobility. Internet Computing,
March/April 2000, pp. 74-79
[Stojanov 96] Stojanov, S.: A Multi-Agent System for the Solution of Statistical Problems. Workshop
“Concurrency, Specification and Programming”, 25-27.09.1996, Berlin, 181-189.
[Stojanov 98] Stojanov, S.; Kumurdjieva, M.: MASTT-Technology and Its Application in Electronic Commerce
Systems. Workshop “Concurrency, Specification & Programming”, September 28-30 1998, Berlin
[Stojanov 00] Stojanov, S.; Kumurdjieva,M.; Dimitrov, E.; Schmietendorf, A.: Technologicak Framework for
Development of Agent-based Applications, Workshop "Concurrency, Specification & Programming",
October 9-11 2000, Berlin, 299-311
78
[Stojanov 00a] Stojanov, S., Ganchev, I. A multi-agent technology for creating of information systems for
electronic commerce, Second South Eastern European Conference on e-commerce, 24-26 October 2000,
Sofia, 92-96
[Sun 00] Sun, R.; Qi, D.: Rationality Assumption and Optimality of Co-Learning. In: Zhang/Soo: Design and
Applications of Intelligent Agents. Lecture Notes in Artificial Intelligence, Springer-Verlag, 2000, S. 6175
[Tambe 00] Tambe, M.; Pynadath, D. V.; Chauvat, N.: Building Dynamic Agent Organizations in Cyberspace.
Internet Computing, March/April 2000, pp. 65-73
[Tessier 01] Tessier, C.; Chaudron, L.; Müller, H.: Conflicting Agents – Conflict Management in Multi-Agent
Systems. Kluwer Academic Publisher, 2001
[Tessier 01a] Tessier , C.; Müller, H.; Fiorino, H.; Chaudron, L. : Agents’ Conflict: New Issues. In [Tessier01],
pp. 1-30
[Tewari 01] Tewari, G.; Maes, P.: A Generalized Platform for the Specification, Valuation, and Brokering of
Heterogeneous Resources in Electronic Markets. In: [Liu 01], pp. 7-24
[Thuraisingham 01] Thuraisingham, B.: Web Data Management and Electronic Commerce. CRC Press, 2000
[Tolksdorf 00] Tolksdorf, R.: Models of Coordination. . In: Omicini/Tolksdorf/Zambonelli: Engineering
Societies in the Agent World, Lecture Notes in Artificial Intelligence 1972, Springer Publ. 2000, pp. 7892
[Umeda 00] Umeda, Y.; Yamashita, M.; Inagaki, M.; Sawamura, H.: Argumentation as a Social Computing
Paradigm. . In: Zhang/Soo: Design and Applications of Intelligent Agents, Lecture Notes in Artificial
Intelligence 1881, Springer Publ. 2000, pp. 46-60
[Valera 01] Valera, F.; Vergara, J. E. L. de; Moreno, J. I.; Villagra, V. A.; Berrocal, J.: Communication
Management Experiences in E-Commerce. Comm. of the ACM, 44(2001)4, p. 63-69
[Vidahl 01] Vidahl, J.M.; Buhler, P.A.; Huhns, M.N.: Inside an Agent. IEEE Internet Computing, Jan./Febr.
2001, S. 82-86
[Vongkasem 00] Vongkasem, L.; Chaib-draa, B.: ACL as a Joint Project between Participants: A Preliminary
Report. In: [Dignum 00], pp. 235-248
[Weinberg 92] Weinberg, G., M.: Quality Software Management. Vol. I and II, Dorset House Publ., New York,
1992
[Wille 01] Wille, C.; Dumke, R.; Stojanov, S.: Performance Engineering in Agent-Based Systems – Concepts,
Modelling and Examples. In Dumke/Abran: Current Trends in Software Measurement. Shaker Publ.,
Aachen, Germany, 2001, pp. 153-181
[Wohlin 00] Wohlin, C. et al.: Experimentation in Software Engineering: An Introduction. Kluwer Academic
Publ., 2000
[Wong 99] Wong, D.: et al.: Java-Based Mobile Agents. CACM, 42(1999)3, pp. 92-105
[Wood 01] Wood, M.F.; DeLoach, S.A.: An Overview of the Multiagent Systems Engineering Methodology. In:
Ciancarini/Wooldridge: Agent-Oriented Software Engineering, Lecture Notes in Computer Science 1957,
Springer-Verlag, 2001, S. 207-221
[Wooldridge 01] Wooldridge, M. J.; Ciancarini, P.: Agent-Oriented Software Engineering: The State of the Art.
In: Ciancarini/Wooldridge: Agent-Oriented Software Engineering, Lecture Notes in Computer Science
1957, Springer-Verlag, 2001, S. 1-28
[Wooldridge 99] Wooldridge, M. J.; Jennings, N. R.: Software Engineering with Agents: Pitfalls and Pratfalls.
Internet Computing, May/June 1999, pp. 20-27
[Yoshida 00] Yoshida, S,; Kamei, K.; Ohguro, T.; Kuwabara, K.; Funakoshi, K.: Building a Network Community
Support System on the Multi-agent Platform Shine. . In: Zhang/Soo: Design and Applications of
Intelligent Agents, Lecture Notes in Artificial Intelligence 1881, Springer Publ. 2000, pp. 88-100
[Yoshimura 00] Yoshimura, K.; Rönnquist, R.; Sonenberg, L.: An Approach to Specifying Coordinated Agent
Behavior. . In: Zhang/Soo: Design and Applications of Intelligent Agents, Lecture Notes in Artificial
Intelligence 1881, Springer Publ. 2000, pp. 115-127
[Yoshioka 01] Yoshioka, N.; Tahara, Y.; Ohsuga, A.; Honiden, S.: Security for Mobile Agents. In: [Ciancarini
01], pp. 223-234
[Zacharia 01] Zacharia, G.; Evgeniou, T.; Moukas, A.; Boufounus, P.; Maes, P.: Economics of Dynamic Pricing
in a Reputation Brokered Agent Mediated Marketplace. In: [Liu 01], pp. 25-38
79