Programming Principles for Multi-Agent Systems - PowerPoint PPT Presentation

1 / 21
About This Presentation
Title:

Programming Principles for Multi-Agent Systems

Description:

Title: Programming Principles for Multi-Agent Systems Author: AMAL Last modified by: AMAL Created Date: 2/24/2005 7:06:48 PM Document presentation format – PowerPoint PPT presentation

Number of Views:139
Avg rating:3.0/5.0
Slides: 22
Provided by: AMAL151
Category:

less

Transcript and Presenter's Notes

Title: Programming Principles for Multi-Agent Systems


1
Programming Principles for Multi-Agent Systems
  • Amal El Fallah Seghrouchni
  • LIP6 and CNRS
  • Amal.Elfallah_at_lip6.fr
  • http//www-poleia.lip6.fr/elfallah

2
Talk outline
  • Classes of problems addressed with MAS
  • Techniques
  • Adaptations
  • From A.I. to D.A.I.
  • MAS Distributed Systems
  • MAS Software Engineering
  • Some comments

3
What do we implement using / as agent(s) ?
LIP6
4
Classes of scientific problems AS, CNRS
Distributed Problem Solving
Simulation and Modelling
Software Engineering
5
MAS 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
6
MAS 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
7
Reuse, 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

8
MAS 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..)

9
MAS 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)

10
Example 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
11
Engineering 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
12
Execution-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
13
Distributed 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.

14
How to distinguish between the two protocols at
the execution level ?
True-Concurrency Semantics
15
Some 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

16
Some 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)

17
MAS 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.

18
Programming 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
19
Another view Odell, 99
Monolithic
Modular
Objects
Agents
Programming
non modular modular modular modular
external external internal internal
external external (call) external (message) Internal (rules, goals)
Behaviour
State
Invocation (and choice)
20
Conclusion 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

21
Series of ProMAS Workshops
ProMAS 2005 Not to be missed !!
ProMAS 2003 LNAI, vol. 3067
ProMAS 2004 LNAI, vol. 3346
Thanks
Write a Comment
User Comments (0)
About PowerShow.com