Agents that… - BABEL Research Web Server

Agents based software engineering and MAS:
A robotics architecture design viewpoint
Jose Luis Blanco Claraco
May 2005
System Engineering and Automation Dpt. (I.S.A.)
University of Málaga (Spain)
www.isa.uma.es
Table of contents
Table of contents
1. Introduction
2. Agent architectures
3. Agent communications
4. FIPA
5. Summary of interesting ideas
6. References
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1. Introduction
1. Introduction
1.1. Why to design using agents?
1.2. What make agents different?
1.3. Defining what an agent is
1.4. Agent definitions
1.5. The essence of an agent
1.6. What an agent may be in robotics
1.7. Agent based systems vs. MAS
1.8. A critic view of agents research
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.1. Introduction: Why agents?
Why to design using agents?
Let’s make a brief review of the evolution of programming paradigms over time:
Procedural languages Object oriented
Agent oriented
(C, FORTRAN)
(C++, Java)
Agentsdata
present
strong conceptual
encapsulation
Related
andaalgorithms
are encapsulated
in objects
They
control
owns
processes.
No
Objects
Conceptual
abstraction
have encapsulation
itsits
atown
all!internal
ofstates.
algorithms or functions
Are
reactive
and
Programmers
In
All
most
data
OOP
andlanguages,
functions
mustproactives.
dealare
directly
objects
at the
are
with
same
just
machine
level
reactive.
details
Social behaviour.
They doesn´t process data, but information.
Assembly
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.2. Introduction: What make Agents different?
What make agents different?
But an agent sounds to be just a program, isn’t it?
Software agents are indeed just programs, but an assembly program
and an object oriented application are also just programs!
The key is the way we see that programs, which may result in
more intuitive and easier ways for designing and developing them.
As noted by some authors, we must be carefull in not over-hyping
agents-based system capabilities, because just using agents in
an application doesn’t solve it, but just may make the design
process easier.
For finding what makes an agent different from other programs,
we must look at the definition of what an agent is.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.3. Introduction: Defining what an agent is
Defining what an agent is
 The problem of agents definition:
In the research community there is no agree for a well stablished
agent definition. The agent definition problem is similar to the
intelligence definition problem, but just like in that case, having
only approximate definitions has allowed a great research work
in the AI field.
 A posible cause for this discord:
Agents are an active research area in very spreads areas, like
software agents for web data mining, personal assistants for
e-mail management, autonomous e-commerce agents,
cooperative graphics interfaces, robotics,...
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.4. Introduction: Agent definitions
Agent definitions
In the literature can be found dozens of definitions for agents,
autonomous agents, rational agents, reactive agents and so on.
“Anything that can be viewed as perceiving its environment throught sensors
and that act upon it throught actuators”
“An entity that perceives an environment and acts on it, having the properties
of: temporal continuity, autonomy, sociability, rationality, reactivity, proactivity
and adaptability”
“A computer system, situated in an environment, capable of flexible autonomous
action in order to persui its own objetives”
“Any entity whose state is viewed as consisting of mental components (beliefs,
capabilities, choices,...)”
“Computational entities that exhibit complex rational behaviour when acting
within a MAS”
“An autonomous agent is a system situated within and part of an environment
that senses it and acts on it, over time, in pursuits of its own agenda”
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.5. Introduction: The essence of an agent
The essence of an agent
Taking the common parts of most agent definitions, we can say what
an software agent must be so that it fulfills all of them in some degree:
- Agents are software entities running in computer systems.
-Agents are autonomous, in the sense that they take its own decisions
about what to do at any time, based on sensed and previousSection
information.
2
-Agents are rational or intelligent, thus actions are selected in order to
optimize some measurable parameter.
-Agents must normally cope with the partial observability problem, for
both, the environment and the other agents.
-Agents are social, since they form communities (MAS).
Section 3
-Agents communications involve more than just data exchange, but
should manage information exchange.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.6. Introduction: What an agent may be in robotics
What an agent may be in robotics
It must be pointed out an important property of agents: they are
situated entities. This differentiates them from older AI approaches
as expert-systems’ “intelligence in a box”. This is relevant because
intelligence is generally accepted to be possible only in entities that
interacts with its environment.
In robotics research on agents technologies, robots and agents are
related mainly in this two ways:
 The physical robot is the agent. This is by far the idea used in
most approaches. Many robots build-up a MAS.
 Agents are the constituents of the robot software. In this cases
these agents are usually called in-agents or sub-agent,
and the robot itself becomes a MAS.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.7. Introduction: Agent based systems vs. MAS
Agent based systems vs. MAS
An agent based system is defined as a system whose main abstraction
artifact is an agent. This doesn’t imply that it must be implemented
using agent technology, similar to the case that an application may
be designed using C++ classes and implemented in plain C, although
it is not the best way. The problem for agent systems is that currently
there is no standard programming language nor toolkit for a complete
development of agents aplications. This have lead to a situation where
many companies and universities have developed propietary systems,
which are not compatibles even for the fundamentals.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.7. Introduction: Agent based systems vs. MAS
Agent based systems vs. MAS
A multi-agent system (MAS) is a social community of agents. The
use of MAS presents interesting capabilities that in turn represent
a big challenge for the research community.
Since agents don’t exchange mere data, but more abstract information,
their communications are best named interactions, where some kinds
of basic interactions are:
- Cooperation
- Coordination
- Negotiation
Communications are based in speech-act theories, where messages sent
between agents have a semantic meaning and are supossed to use a
given ontology or to be able of spreading them between agents.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.8. Introduction: A critical view of agents research
A critical view of agents research
-Advantages of current experimental agents aplication over
previous aplications are not clear.
-Each research group take attention only to a narrow set of agents
properties or problems, ignoring the others. For example, many
proposed agent architectures take a lot of effort to a theoretical
proof of the validity for the reasoning model or the proposed
language, but inter-agents communications or RT are ignored.
-Many proposed models are just theoretical, with little or no
real-world implementations, and in many cases the models are
not scalable to practical applications.
-Some approaches deal only with expading theoretical models with
other hypotetical theoric new models, with no proven utility at
all in practical applications.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
1.8. Introduction: A critical view of agents research
A critical view of agents research
The apparently chaotic but huge research effort in agents research
may be explained with the fact that each research group develop
its own agents models for architecture and communication.
In order to help solving this problem, some standards initiatives
have been proposed for inter-agents communications, leaving the
internal agent architecture unspecified. Theese initiatives are:
-OMG’s MASIF: Propose that the main property of agents is
mobility, thus agents execution can move from a computer to
others keeping its internal state unchanged.
-KQML
-FIPA
May, 2005
Both use ACL (Agents Communication Language).
FIPA is treated later, since it is becoming the stronger
of all agents standards: On Mar-05 is becoming an
IEEE Standards Committee.
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2. Agent architectures
2. Agent architectures
2.1. Introduction
2.2. Organizational-based approaches
2.3. Practical reasoning approaches
2.4. Realtime approaches
2.5. The zoo of agents
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.1. Agent architectures: Introduction
Introduction
Next are exposed three of the main properties that agents are claimed
to have. For each of theese properties, different groups of approaches
have been developed that deal explicitly with each of them.
Agents organize themselves
in communities
Organizational-based
approaches
Agents internal state is
composed of attitudes
Practical reasoning
architectures
Agents respond in a
timely fashion
Real-time
approaches
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.1. Agent architectures: Organizational-based approaches
Organizational-based approaches
There are many theories and methods dealing with agents organizations.
We can consider several kind of approaches falling into this group:
Requirements engineering approaches
Theese approaches deal with the problem of software
engineering, from early specification stages to
implementation. The primitive concepts usually used for
modeling applications are:
Agents, actors, roles or positions, all of them
equivalents.
Goals.
Dependencies between agents.
Theese approaches try to solve the problem of organize
agents for making the system able of reach its goals.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.1. Agent architectures: Organizational-based approaches
Organizational-based approaches
There are many theories and methods dealing with agents organizations.
We can consider several kind of approaches falling into this group:
Structural model approaches
In the case of robotics agents composed of sub-agents, we can found approaches
where a robot struct is composed of goals, roles, capabilities and rules, and teams
of agents are automatically organized using a global capability optimization criterion,
even in the case of any sub-agent failure.
This approach has been applied only to a simple application where only sub-agents
are sonars and bumps reading-agents, where the scalability to bigger applications is
not clear.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.1. Agent architectures: Organizational-based approaches
Organizational-based approaches
There are many theories and methods dealing with agents organizations.
We can consider several kind of approaches falling into this group:
Connectionist approaches
We can found other approaches where agents structure is not dynamically changed,
but agents are connected with all others throught neural networks. Specific learning
methods have been developed recently which allow the distributed neural net to learn,
in a supervised learning fashion.
In this case the utility for simple sensors-actuators loops is proven, but it is difficult to
figure out how information processing agents can be used in theese approaches.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
Agents organize themselves
in communities
Organizational-based
approaches
Agents internal state is
composed of attitudes
Practical reasoning
architectures
Agents respond in a
timely fashion
Real-time
approaches
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
Practical reasoning approaches
A practical reasoning computation model is that one inspired on how
human mind is supossed to work. According to psychologists, human
mind can be modeled as sketched below, which is called the HCogAff architecture (human-like architecture for cognition and affect)
Meta-Management
(reflective)
Deliberative processes
(planning, deciding,…)
This deliberative level is supossed to
be built from attitudes, which are the
basics of practical reasoning based
agents.
Reactive processes
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
Practical reasoning approaches
The usual attitudes are:
- Beliefs: Information that we think that is true. This attitude models
any kind of knowledge: symbolic, about the environment,…
Beliefs represent the informational attitudes.
- Desires: This attitude models the goals, what we want to made.
- Intentions: An intention is any current process we are doing.
Normally intentions are directed to the achievement of goals.
Both desires and intentions represent motivational attitudes.
Altogether, theese three attitudes form the most popular agent model:
B.D.I.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
Practical reasoning approaches
The BDI model has been used for a decade and it is well studied. The
use of beliefs and desires may be equivalent to classical AI concepts
of knowledge-base and goals, but the use of intentions doesn’t.
Nevertheless, it’s use is justified in two ways:
-Psycologist assure humans usually use such an artifact.
- Its use in a BDI model is critical for achieving optimal performance
when deliberation is subject to resource and time bounds.
Intentions are also viewed as the element that make a system become
stable when multiple actions and complex plans are posible.
There are many different agent models similar to BDI, using the same
attitudes,or even adding other one (i.e. obligations,in BODI approach)
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
Practical reasoning approaches
A problem remains in the step of implementing BDI systems: there is
not a clear way of implementing the three attitudes, nor even an agree
of what must an agent to do with them.
This have producted a wide variety of BDI-like agents implementations.
The typical primary focus is to provide a model based on a defined
first order logic language, and a functional model for some kind of
interpreter.
Next some examples of proposed BDI (or no-BDI) agent models are
exposed, including samples for defined logic languages.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
GOLOG (1994)
GOLOG is defined as a logic programming language for dynamic
domains. It is based on situation calculus, inheriting the need for a
world actions axiomization, the “frame problem” and the use of
relational and functional fluents and the actions-chain world state
representation. Semantics are similar to PROLOG, but the main
on interpreter maintains a
claim of this language is thatRules
the language
Macros
representation of the dynamic
world.
world states
Sample declaration from an evelator control application:
Poss(up(N),S) :- holds(current_floor(M),S), M < N.
proc serve(n) go_floor(n);turnoff(n);open;close endProc
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
AgentSpeak(L) (1996)
AgentSpeak(L) (“L” for language) appears as a new formalization
attempt for BDI agents, where attitudes are not represented as data
structures, but as modal operators in a first order logic language.
Main building blocks of AgentSpeak(L) are events and actions. Next
is represented the simplified architecture of the interpreter:
Events
(internals,
externals)
Plans
(triggering
conditions)
Beliefs
Relevant
plans
SE
May, 2005
Unify
Applicable
plans
Unify
Intentions
EXECUTION
SO
SI
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
AgentSpeak (1996)
Sample plan definition:
[+!location(robot,b):
location(robot,a) &
not (b=a) &
adjacent(a,b) <move(a,b);
+!location(robot,b)].
Preconditions
Added fact is an achievement request
Triggering-event: An addition to the KB
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Plan
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
SPARK (2004)
SPARK is a toolkit for building agents based on the BDI model. Its
claim is to develop a method for building formal-reasoning based
agents for demanding applications but keeping the availability of
meta-reasoning for a certain degree of self-awareness capability. The
later is defined as agent ability to instrospect its own knowledge,
which provide basis for temporal projection, explanation and
knowledge limits recognition. But all theese capabilities are in
current research.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.2. Agent architectures: Practical reasoning approaches
SPARK (2004)
The current execution model of SPARK is:
Intentions
Procedures
Executor
Actions
Beliefs
Effectors
Sensors
A key point in SPARK model is that execution of procedures is taken
as an finite state machine, thus providing a good way of analising them.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.3. Agent architectures: Real-time approaches
Agents organize themselves
in communities
Organizational-based
approaches
Agents internal state is
composed of attitudes
Practical reasoning
architectures
Agents respond in a
timely fashion
Real-time
approaches
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.3. Agent architectures: Real-time approaches
Real-time approaches: Why?
Agents are supposed to be situated entities. As such, they must interact
with a probably dynamic environment. In this situation it is common that
if an agent keeps deliberating too long, decided actions should not longer
be useful.
This kind of temporal restrictions raise the so called soft and hard
real-time systems, where logic results of algorithms are not the only
important factor, but also when they are produced.
Usually this approaches critic other agent high-abstraction-models for
both execution and communications, negotitions, … since theese are
usually slow and unpredictable long processes.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.3. Agent architectures: Real-time approaches
Thinking is a slow task: Anytime algorithms
One family of approaches are grouped under the name of Anytime
algorithms. This is a wide group, including algorithms for robotics
navigation planning, general planning, POMPDs,…
The underlying concept is that at least approximate results may be
obtained in short time, and if more time is available, more precise
results should be obtained.
The quality of an anytime method
result improves over time, in a way
defined by its Conditional
Performance Profile:
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.3. Agent architectures: Real-time approaches
A sample RT agent architecture: ARTIS
ARTIS is a hard-RT agent architecture, specifically designed for
robotics applications. The robot is defined as an agent composed by
in-agents, whose RT-requirements are specified and guaranteed by
design. Generated applications have its own scheduler.
Next are given examples for an in-agent and a “KS-element” :
(defagent avoid_obstacles
( period 100 ) // 100 ms
( deadline 8 ) // 8 ms
( importance 1 ) //the most important
( perception (read_sensors) )
( cognition (avoid) )
( action (act_avoid) )
( precedence (nil) ) )
( defks read_sensor_serial ()
( wcet 2) // ms
( codefile ‘.\read_sensor_serie.c’ ) )
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
2.4. Agent architectures: The zoo of agents
The zoo of agents
Three different aspects of agents, and corresponding approches
families have been exposed. But in fact the partitioning is not too well
defined and agents should all of them belong to all groups.
Agents organize
themselves in
communities
?
Agents respond
in a
timely fashion
Agents internal state
is composed of
attitudes
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3. Agents communications
3. Agents communications
3.1. The communication problem
3.2. Electronics Institutions
3.3. Formal Languages approaches
3.3.1. What are you talking about?
3.3.2. KQML
3.3.3. ACL
3.3.4. CAL
3.4. Agents that…lie?
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.1. The communication problem
The communication problem
Autonomous and intelligent agents are supposed to interact each other
using semantics communications, not by just sending and receiving
data.
This have been modeled in different ways in many approaches, since
remain undealed in others. Next two of the most used methods are
exposed, i.e. the Electronics Institutions and formal languages
standarization efforts.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.2. Electronics Institutions
Electronic Institutions
The idea behinds EI is the role of institutions in human communities.
It is based on an actors/scenes paradigm, where agents must link
themselves to a role defined in an scene. Typical example is a food
market, where roles are a seller and a customer.
Theese approaches use roles to define a protocol, i.e. the set of posible
communicative acts that each part can or must commit in each
moment throghtout the act, which is modelled graphically in a similar
way to a states diagram, but using scenes, transitions and agents.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.2. Electronics Institutions
Electronic Institutions
Next it is shown the model for a fish market, where scenes are
buyer’s admission, seller’s admission, auction scene,… represented
as a transition graph.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.2. Electronics Institutions
Electronic Institutions
In fact, EI are proposed as an additional layer over normal agents
communications, which impose restrictions by means of roles, scenes,…
The JADE is a JAVA agents communication library, which is
exposed later.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.3. Formal languages approaches
What are you talking about?
Agents are supposed to interact using a
set of communicative acts, having their
well-defined semantic meaning, as a
question, a proposition, an agree
response,… But it is imposible for two
agents to communicate if they are
designed using different communication
languages, as is the case for most
research project where proprietary
languages are developed.
To solve this problem, different standarization efforts have been
proposed since a few years. Next two of them are described.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.3. Formal languages approaches
KQML (Knowledge Query and Manipulation Language )
This language has been develop under the “ARPA Knowledge Sharing
Effort”. The main purpose of this project is to develop a set of
protocols and languages which may lead to a effective development of
knowledge management agents, which may interact with an user or
with another agents. It defines a message format and a message
handling protocol. Agents must use only a defined set of
performatives, or communication acts, and only in the proposed
situations: for example, an agent should not send a tell performative if
it beliefs that the target agent already beliefs what is being sent.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.3. Formal languages approaches
KQML
Next an example of this language is shown. It represents an ask-if
performative, where an agent ask another one if a statement is
consistent with its internal knowledge-base.
(ask-if
:content
:receiver
:language
:ontology
May, 2005
(PRICE
IBM
stock-server
LPROLOG
NYSE-TICKS)
1500)
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.3. Formal languages approaches
ACL (Agent Communication Language)
This message format specification have been developed by FIPA
(Foundation for Inteligent Physical Agents). More about this
organization is exposed later.
In short, ACL defines a message format for performative acts
communication between agents, just like KQML. It also defines
different codification methods for messages’ content, which can
be a plain text string, an XML data struct or a binary representation
whose main purpose is provide a stardard code of bit-effient
compresion of message headers and keywords.
The content of the messages is undefined in this standard, but it is
specified in another one: CAL.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.3. Formal languages approaches
CAL (Communicative Act Library)
This specification deals with the message contents, and specifies the
set of valid performative acts, and their semantics.
There are communicative acts for:
 Informing of some fact that the agent beliefs to be true. There are
different versions of this one, depending on the semantics of
the action: an agent may inform, confirm or disconfirm some
fact to another agent.
 Proposal of actions, and posible responses including an agree,
disagree, conditions negotiations and commitment notification.
 Questions. An agent can ask for something, or “ask if” something
if true.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.3. Formal languages approaches
FIPA’s ACL and CAL example
ACL deals with this part
(request
:sender (agent-identifier :name i)
:receiver (set (agent-identifier :name j))
:content
((action (agent-identifier :name j)
(inform-ref
:sender (agent-identifier :name j)
:receiver (set (agent-identifier :name i))
:content
"((iota ?x (UKPrimeMinister ?x)))"
:ontology world-politics
:language FIPA-SL)))
:reply-with query0
:language FIPA-SL)
And CAL with this one
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
3.4. Agents that…lie?
Agents that…lie?
FIPA’s ACL and other agents communication models have been
criticized from the agents sincerity point of view. The problem is
that if an agent sends to another one an informative performative,
informing that some fact is true, the receiving agent should belief it.
This agents sincerity assumption is criticized since an unsincere agent
may lead to any desired situation just be saying the things that it
knows would lead to that situation. For example, a seller agent and a
customer agent negotiating the price would not be totally sincere.
But for robotics applications, it is reasonable to think of building true
collaborative agents that doesn’t lie, so we are not concerned with
that problem.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
4. FIPA
4. FIPA
4.1. Wh-?
4.2. Desired scope
4.3. Available libraries out there
4.4. Non-robotics scales
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
4.1. Wh-?
FIPA: Wh-?
What?
FIPA is a non-profit organisation aimed at producing standards for
the interoperation of heterogeneous software agents. On March 2005
it became the eleventh IEEE Standards Committee.
Who?
FIPA members include dozens of universities, as well as private
companies.
When?
FIPA was formed in 1996, and until 2005 has been an independent
group of Standards Committees.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
4.2. Desired scope
Desired scope
FIPA deals with the standarization of agents-based systems, with the
propose of move agent technologies to real-world market.
The most important standards that FIPA produce may be the ACL and
CAL specifications, that have been exposed before, because they allow
agents created separatelly to interact.
But in fact FIPA does not specify just the communication parts of an
agent-based system: there is a proposed Abstract Architecture,
some kind of environement for multi-agents applications, where are
defined some standard agents, like the agent-directory, the evolution
of CORBA naming-service. In fact, the whole multi-agent paradigm
is a natural evolution of distributed objects applications (CORBA),
towards distributed agents applications.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
4.3. Available libraries out there…
Available libraries out there
FIPA itself just deal with the specification of standards, but doesn’t
produce any software at all. Anyway, many open-source and
commercial FIPA-compliant agents development platforms have been
developed that fulfill FIPA97 or FIPA00 set of standards. Some of this
software packages are:
Agent Development Kit, from Tryllian BV.
FIPA-OS, the first open source FIPA project, from Nortel Networks.
JADE
LEAP
…
All of them are developed in Java.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
4.4. Non-robotics scales
Non-robotics scales
Authors claim that using Java is not a disadvantage in producing
effient agents communications management, based on current JIT
technologies. Next is shown the result of some experiments of agent
communications, in the case of agents being into the same JVM, into
different JVMs in the same computer, and in different computers.
Notice that in agents research, the
agents count is typically in the range
of some hundreds of them.
This is obviously not the case of
robotics aplications, where it is
difficult to think of applications with
more than a few dozens of agents.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
A summary of interesting ideas
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
5. Summary of interesting ideas
Next some interesting ideas, from the robotics control architectures
viewpoint, are pointed out. Each one is taken from a different
approach or architecture, since there is not an ideal one.
A)We can think of building a robotic control architecture in, at least,
three different ways:
1. Robot itself is considered an agent, being controlled under a
single software application.
2. Robot’s software is a MAS where agents deal with small
conceptual problems.
3. Robot is considered an agent, but software is composed of
several smart modules…may be even in-agents.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
5. Summary of interesting ideas
B) The building blocks of the robotic software use advanced
communication artifacts, such the exposed communication acts,
with a defined semantics. The key advantage of using this approach
is to move toward the ideal modules flexibility, i.e. if some new
algorithm is developed other modules should use it without
modificating them.
Another advantage is the use of non-closed, typified parameters forms
of methods or services, thus some parameters may be omited or
given using many alternative representations. For example, a
movement request may be invoked with
moveto(target: (10m,20m,30º))
or using
moveto(target:kitchen, method:reactive)
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
5. Summary of interesting ideas
C) The use of some kind of logic language that defines “procedures”
or partial plans for some actions. For example, a plan for “go to X”
may be to find a path and follow it using a set of reference locations,
specifying what to do on a failure situation. Theese “procedures” may be
seen as partial plans or rules, which a general planner use as primitive
actions. The advantage of representing actions in an interpreted language
is the easy of reprogramming without recompiling any software module.
A more ambitious objetive that may be achievable with this approach is
providing the robot with some kind of manual run-time reprogramming
using an user graphic or voice interface, i.e. explain the robot how to
do something that is new to the robot. Some of the languages exposed in
this review, as SPARK, allow for meta-reasoning, an important issue if
requiring the robot to explain why is it doing something.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
5. Summary of interesting ideas
D) Computational capabilities will keep being an important issue, at
least for a long time. This means that all computational processes that
may compete for execution time should cooperate in a way that most
important task are executed first. This requirements may be solved using
some combination of:
-Approximative calculations, using anytime algorithms. Its use should
be standardized in the robotics software so execution can be
planned in a systematic way.
-Priorities management.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
5. Summary of interesting ideas
E) An original way of maintain a current-environemnt mental
Representation is used in the IMA (Intelligent Machine Architecture)
approach. In this architecture, robotic software is composed of agents,
each one representing each perceived entity in the world, which should
be anchored to. For example, the user is represented by an agent that
estimates the user state or request based in all sensorial information it
can collect from all sensorial agents (voice, vision,…)
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
5. Summary of interesting ideas
5. Summary of interesting ideas
F) It is a good idea not to design a hard-wired or hand-coded
organization for in-agents: all of them should be at the same ground
level, and relations between them should be formed in a task oriented
way, depending on the agents capabilities that they report to have.
Ideally using this kind of automatic organization make easy the
change, addition or removal of algorithms, methods or capabilities
to the robot.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco
6. References
6. References
-FIPA specification, www.fipa.org
-KQML specification, www.cs.umbc.edu/kqml/
-"Generando un agente robótico autónomo a partir de la evolución de subagentes simples
cooperativos",Ricardo A. Téllez,Cecilio Angulo.
- "Towards a Real-Time Multi-Agent System Architecture", J. Soler et al.
- "Approximate reasoning using anytime algorithm", Shlomo Zilberstein, S. Russell.
- "The SPARK Agent Framework", D. Morley, K. Myers
- "AgentSpeak(L): BDI agents speak out in a logical computable language", A.S. Rao
- "GOLOG: A logic programming language for dynamic domains", H.J.Levesque et al.
- "The BOID Architecture", J.Broersen et al.
- "Generalised Object-Oriented concepts for inter-agent communication", R.M. van Eijk et al.
- "A roadmap of Agent Research and Development",N.R.Jennings et al.
- "Agent-oriented programming", Shoham.
- "BDI Agents: From theory to practice", A.S.Rao
- "Virtual Machines and Conciousness", A.Sloman,R.Chrisley
- "Software Agents: An Overview",H.S.Nwana
- "Is it an Agent, or just a program? A taxonomy for Autonomous Agents", S.Franklin,A.Graesser
- "A software Architecture for Integrated Service Robot Development", R.T.Pack et al.
- "Formalising Agent mediated Electronic Institutions", M.Esteva et al.
-"Enabling intra-robotic capabilities adaptation using an organization-based
multiagent system",E.Matson,S.DeLoach
- "Multiagent Systems and Distributed AI",N.Vlassis
- "Simplifying the development of Intelligent Agents",M.Winikoff et al.
May, 2005
Agents based software engineering and MAS:A robotics viewpoint
Jose Luis Blanco