Title: Programming Principles for MultiAgent Systems
1Programming Principles for Multi-Agent Systems
- Amal El Fallah Seghrouchni
- LIP6 and CNRS
- Amal.Elfallah_at_lip6.fr
- http//www-poleia.lip6.fr/elfallah
2Talk outline
- Classes of problems addressed with MAS
- Techniques
- Adaptations
- From A.I. to D.A.I.
- MAS Distributed Systems
- MAS Software Engineering
- Some comments
3What do we implement using / as agent(s) ?
LIP6
4Classes of scientific problems AS, CNRS
Distributed Problem Solving
Simulation and Modelling
Software Engineering
5MAS space
Artificial intelligence Autonomy Goal-driven Pro-a
ctivity Decision making Knowledge/reasoning
Intelligent skills
Concurrency
MAS
Formalisms, Middleware, Distributed algorithms,
mobile code, etc..
Interaction
Communication protocols Organisational models
Protocols of cooperation, coordination
6MAS which techniques?
Evolutionary theory Bio-inspired
approaches Artificial life
Planning Decision making Reasoning Knowledge
representation Game theory Operational
research Plethora of logics
Distributed Problem Solving
Simulation and Modelling
Software Engineering
Object Methods Distributed Systems
7Reuse, extension, or else ?
Annas talk
- From A.I. to D.A.I.
- How to shift from single-agent to multi-agent
behaviour, e.g. - Multi-agent planning,
- Collective learning,
- Distributed decision making (cooperative versus
self interested agents), - Mutual, distributed or common knowledge for
reasoning - Collective B, D, I ???
- Etc.
- Autonomy
- MAS added-value (if any) and how to make it
effective ? - consequences at all the stages of the software
design - i.e. Reification at the implementation level
8MAS Distributed Systems
- Distributed Systems as support for MAS
implementation and deployment - Models of calculus ( e.g. true concurrency versus
interleaving semantics) - Distributed observation (for debugging,
explanation, learning..) - Distributed algorithms (group communication,
consensus, ..) - Fault-tolerance mechanisms (robustness)
- Load balancing and resource sharing (efficiency,
fairness), - Mobile code, migration and security techniques
(encryption, ) - Reuse of conventional technologies (Middleware,
CORBA..)
9MAS Distributed Systems
- But ..
- A compromise between autonomy and coherent
collective behaviour - Verifiable behaviour e.g.
- Dynamic on-the-fly mechanisms
- Interaction and processes (e.g. bissimulation)
- Event driven models (e.g. reachability graphs,
invariant calculus, ..) - Rafaels talk (Model checking and theorem
proving) - Real-time aspects
- Open protocols
- Suitable formalisms (i.e. replace processes by
intelligent agents)
10Example the issue of protocol engineering in MAS
- Specification, verification, performance
analysis, implementation and test - Main questions
- Analysis and specification
- how to obtain formal specification of protocols
from informal (or semi-formal) ones? - Verification
- What are the relevant properties of protocols?
- When to validate them downstream, on-line or
upstream the interaction process? - Performance analysis
- How to evaluate the protocols in practice?
- Agents autonomy
- Which compromise between local autonomy of agents
and the protocols as global rules of behaviour ?
G E N E R I C
M A S
11Engineering of open protocol in MAS
- Methodology based on 2 phases AAMAS 2002
- Conception and design phase help the designer to
build and to validate the interaction protocols - Execution and evaluation phase debugging the
protocols IJCA98
Evaluation
Analysis
A
Specification of
U
Recognition
protocols' diagrams
M
C
L
Specification of
CPN
Observation
P
N
Execution
Validation
(R)
- Conception-design Phase
- SE
2. Execution-evaluation Phase DS
12Execution-Evaluation Phase
1 Distributed MAS execution On-line
distributed observation IJCA01 Local traces
of sending/receiving messages
2 Build the global causal graph of all events
inherent to agents interactions (vectorial
clocks of Fidge and Mattern)
3 Recognition of interaction protocols based
on CPN unfolding MAAMAW99 (McMillan and
Esparza)
Recognition Algorithm
4 Analysis and explanation of agentsÂ
behaviours during interaction
13Distributed observation of interactions
- Study the dynamic of the conversations between
agents - Knowledge about the evolution of the agents,
- tracking and detecting inconsistencies,
- performance and concurrency measurements, ...
- Use causality to order observed events
- relevant events Communicative acts (sending and
receiving events) local significant actions of
the agents, - use logical vectorial clocks Fidge and Mattern,
88 to capture causality between events, - build local traces on each agent,
- merge the traces into global trace,
- exploit the global trace to build a causal graph
of the overall events of interactions.
14How to distinguish between the two protocols at
the execution level ?
True-Concurrency Semantics
15Some responses to modelling requirements
- Analysis and specification
- How to obtain formal specification of protocols
from informal (or semi-formal) ones? - Translate Protocol Diagrams into CPN
- CPN is a suitable formalism for design, analysis
and verification of complex interactions - allows to build robust interaction
- offers several operations on elementary protocols
(composition, sequencing, and parallelisation) - Agents autonomy
- Which compromise between the local autonomy of
agents and the protocols as global rules of
behaviour ? - A new formalism to design Open Protocols RCPN
- A set of consistent protocols to deal with
complex protocols involving groups of agents
(election, vote, etc.) - Extension of CPN with abstraction at modelling
level, and refinement at execution level
16Some responses to validation requirements
- Verification What are the relevant properties of
protocols? - Structural liveness from an initial state, for
any accessible state, at least one transition is
fired - Consistency there is a control that guarantees
to come back to some desirable state, or to a
homestate - Boundedness the number of messages remains
bounded - Accessibility guarantees the control of a
protocol e.g. to reach some desirable state - Liveness stronger than the absence of deadlock.
It means that for any initial state, all the
operations can always be executed (in our
semantics, different ending transitions are added
to the model) - Behavioural properties !!! Qualitative
criteria !!! - When downstream, on-line or upstream the
interaction process? - A priori structural validation, during the
interaction process observation and unfolding
techniques and a posteriori after debugging
phase (Design/CPN)
17MAS SE Duality
- MAS uses key techniques from SE like
- abstraction, inheritance, modularity,
overloading, information hiding, error handling,
generic programming, compositionality, and
separation of concerns (Objects, Components,
Patterns) - SE inspires MAS
- Analysis Methodological aspects (Aalaadin,
Gaia, Tropos) - Specification Modelling (UML extension, e.g.
AUML, MAS-ML) - Design
- Design patterns (Kendall 95, Honiden 00,
Sauvage 04) - Advanced techniques (Aspect-Oriented Programming
Garcia 04,) - Architectures, Platforms, Standards (FIPA), etc.
- SE uses key concepts of MAS to introduce
flexibility, autonomy, adaptation, etc.
18Programming perspective
- Interview Les Gasser, IEEE Concurrency 1998
- concept of persistent action
- A programme that tries repetitively to perform
an action - mission and initiatives to perform actions
Level of abstraction
agents, intentions, plans
models, anthologies
objects, messages
Data structures
bits
Action selection (binding or - late)
Fortran
Action selection
Procedure call
Method call
modules
objects
actors/asynchronous
components
agents
Decoupling
19Another view Odell, 99
Monolithic
Modular
Objects
Agents
Programming
Behaviour
State
Invocation (and choice)
20Conclusion some comments
- Few open sources Mostly platforms
- Very few languages
- Mostly based on logics (Jason, 3-APL, ) Joaos
talk - Most are implemented using JAVA (Agent-Factory)
Gregorys talk - Not much are based on process algebra (ViP,
CLAIM) - Public implementations of MAS
- Open sources Madkit, Dima, Jade, Jadex,
Agent-Factory - Desire (?), MobileSpace (?)
- Jack (Commercial product)
- Both Agent and MAS levels are concerned
21Series of ProMAS Workshops
ProMAS 2005 Not to be missed !!
ProMAS 2003 LNAI, vol. 3067
ProMAS 2004 LNAI, vol. 3346
Thanks