Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming Principles for Multi-Agent Systems Amal El Fallah Seghrouchni LIP6 and CNRS

Similar presentations


Presentation on theme: "Programming Principles for Multi-Agent Systems Amal El Fallah Seghrouchni LIP6 and CNRS"— Presentation transcript:

1 Programming Principles for Multi-Agent Systems Amal El Fallah Seghrouchni LIP6 and CNRS Amal.Elfallah@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) ? Software Engineering Artificial Intelligence Distributed Systems Internet LIP6

4 Classes of scientific problems [AS, CNRS] Software Engineering Distributed Problem Solving Simulation and Modelling MAS Simulation Individual-Based Modelling Interactions Environment Cooperative problem solving Cognitive/Top-Down (multi-experts) Reactive/emergence (ex : eco-systems) Agent-Oriented Software Engineering Flexible Cooperative

5 MAS space MAS Artificial intelligence Autonomy Goal-driven Pro-activity Decision making Knowledge/reasoning Concurrency Communication protocols Organisational models Intelligent skills Protocols of cooperation, coordination Interaction From agent (individual) to MAS (collective) behaviours Formalisms, Middleware, Distributed algorithms, mobile code, etc.. Alessandro’s talk Gregory’s talk Anna’s talk

6 MAS: which techniques? Software Engineering Distributed Problem Solving Simulation and Modelling Object Methods Distributed Systems Planning Decision making Reasoning … Knowledge representation Game theory Operational research Plethora of logics … Evolutionary theory Bio-inspired approaches Artificial life …

7 Reuse, extension, or else ? 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 Anna’s talk

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,..) Rafael’s 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 ? GENERICGENERIC MASMAS

11 Engineering of open protocol in MAS Methodology based on 2 phases [AAMAS 2002] 1. Conception and design phase: help the designer to build and to validate the interaction protocols 2. Execution and evaluation phase: debugging the protocols [IJCA’98] Execution Observation Recognition Evaluation Specification ofCPN Validation Analysis Specification of protocols' diagrams A U M L C P N (R) 1.Conception-design Phase SE 2. Execution-evaluation Phase DS

12 Execution-Evaluation Phase 1 : Distributed MAS execution On-line distributed observation [IJCA’01] Local traces of sending/receiving messages 3 : Recognition of interaction protocols based on CPN unfolding [MAAMAW’99] (McMillan and Esparza) Protocol patterns Recognition Algorithm I 1 (A,B) I 2 (B,C)I 3 (A,B,C) 4 : Analysis and explanation of agents ’ behaviours during interaction e 1 e 2 e 3 e 5 e 4 2 : Build the global causal graph of all events inherent to agents’ interactions (vectorial clocks of Fidge and Mattern) A B C

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 ? e4e4 T1T1 T2T2 T3T3 T4T4 P1P1 P0P0 P4P4 P3P3 P2P2 e1e1 e 2 : Sending a request to the agent e 3 : Reception of a response from agent P5P5 (b) Protocol 2 T1T1 T2T2 T3T3 T4T4 P1P1 P0P0 P4P4 P3P3 P2P2 e1e1 e 2 : Sending a request to the agent e 3 : Reception of a response from agent e4e4 (a) Protocol 1 S = {A,B,C} ; X = {A} ; Y = {B,C} e 1 (A) e 2 (B) e 2 (C) e 4 (A) e 3 (B) (c) Causal graph 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 Level of abstraction Action selection (binding + or - late) Decoupling bits Data structures objects, messages models, anthologies agents, intentions, plans Procedure call Method call Action selection Fortran modules objects actors/asynchronous components agents 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

19 Another view [Odell, 99] non modularmodular external internal external (call) external (message) Internal (rules, goals) Monolithic ModularObjectsAgents Behaviour State Invocation (and choice) Programming

20 Conclusion: some comments Few open sources: Mostly platforms Very few languages Mostly based on logics (Jason, 3-APL, …) Joao’s talk Most are implemented using JAVA (Agent-Factory) Gregory’s 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 ProMAS 2003 LNAI, vol. 3067 ProMAS 2004 LNAI, vol. 3346 ProMAS 2005 Not to be missed !! Series of ProMAS Workshops Thanks


Download ppt "Programming Principles for Multi-Agent Systems Amal El Fallah Seghrouchni LIP6 and CNRS"

Similar presentations


Ads by Google