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

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Software Requirements Engineering
Mehdi Dastani Jorge J. Gomez-Sanz PROMAS PROgramming Multi-Agent Systems.
Specifying Agent Interaction Protocols with AUML and OCL COSC 6341 Project Presentation Alexei Lapouchnian November 29, 2000.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Software Engineering COMP 201
Introduction To System Analysis and Design
Developing MAS The GAIA Methodology A Brief Summary by António Castro and Prof. Eugénio Oliveira.
Implementation of MAS issues M. Birna van Riemsdijk ProMAS TFG 2005.
April 15, 2005Department of Computer Science, BYU Agent-Oriented Software Engineering Muhammed Al-Muhammed Brigham Young University Supported in part by.
1 SWE Introduction to Software Engineering Lecture 5.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Finite State Verification for Software Systems Lori A. Clarke University of Massachusetts Laboratory for Advanced Software Engineering Research
Chapter 1 Principles of Programming and Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Introduction to Jadex programming Reza Saeedi
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
UML - Development Process 1 Software Development Process Using UML (2)
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM]
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Multi-Agent Systems University “Politehnica” of Bucarest Spring 2003 Adina Magda Florea
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Agent-Oriented Software Engineering CSC532 Xiaomei Huang.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Argumentation and Trust: Issues and New Challenges Jamal Bentahar Concordia University (Montreal, Canada) University of Namur, Belgium, June 26, 2007.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Travis Steel. Objectives What is the Agent Paradigm? What is Agent-Oriented Design and how is it different than OO? When to apply AOD techniques? When.
Introduction To System Analysis and Design
SOFTWARE DESIGN.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
Framework for the Development and Testing of Dependable and Safety-Critical Systems IKTA 065/ Supported by the Information and Communication.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Presentation on Issues and Challenges in Evaluation of Agent-Oriented Software Engineering Methodologies By: kanika singhal.
Design Concepts By Deepika Chaudhary.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CS 501: Software Engineering Fall 1999 Lecture 12 System Architecture III Distributed Objects.
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
Algorithmic, Game-theoretic and Logical Foundations
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Basic Concepts and Definitions
CS223: Software Engineering
An Architecture-Centric Approach for Software Engineering with Situated Multiagent Systems PhD Defense Danny Weyns Katholieke Universiteit Leuven October.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Principles of Programming & Software Engineering
Separation of Concerns in the Design of Distributed Systems
Designing Agents’ Behaviors and Interactions within ADELFE
Distribution and components
An Introduction to Software Architecture
From Use Cases to Implementation
Presentation transcript:

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

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

What do we implement using / as agent(s) ? Software Engineering Artificial Intelligence Distributed Systems Internet LIP6

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

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

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 …

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

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

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)

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

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

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

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.

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

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

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)

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.

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

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

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

ProMAS 2003 LNAI, vol ProMAS 2004 LNAI, vol ProMAS 2005 Not to be missed !! Series of ProMAS Workshops Thanks