méthodologie de développement de systèmes multi...

47
Introduction Contexte ADELFE ETTO Robotique Conclusion Méthodologie de développement de systèmes multi-agents adaptatifs Conception de logiciels à fonctionnalité émergente Gauthier Picard Thèse en Informatique Institut de Recherche en Informatique de Toulouse (IRIT) Université Paul Sabatier (UPS) 10 décembre 2004 Méthodologie de développement de systèmes multi-agents adaptatifs Gauthier Picard 1

Upload: vanxuyen

Post on 12-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion

Méthodologie de développement de systèmesmulti-agents adaptatifs

Conception de logiciels à fonctionnalité émergente

Gauthier Picard

Thèse en InformatiqueInstitut de Recherche en Informatique de Toulouse (IRIT)

Université Paul Sabatier (UPS)

10 décembre 2004

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 1

Page 2: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion

Sommaire

1 Introduction

2 Contexte et état de l’art

3 La méthode ADELFE

4 Emploi du temps adaptatif

5 Collectif de robots transporteurs

6 Conclusion

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 2

Page 3: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion

IntroductionMotivations & Orientations

Constat

Environnements des logiciels de plus en plus complexes(ouverture, indéterminisme, dynamique, ...)

Fonctionnalité difficile à spécifier et besoin d’adaptation globale(non-linéarité, organisation inconnue, ...)

Les systèmes sont décomposables et leurs parties spécifiables

Inspiration naturelle ou artificielle

Phénomènes émergents et mécanismes d’auto-organisation

Systèmes multi-agents

La coopération comme mécanisme de micro-niveau

Vers une méthodologie plus adaptée

De telles techniques sont trop peu nombreuses et peu connues

Besoin de méthodes orientées émergence ➥ ADELFE

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 3

Page 4: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Sommaire

1 Introduction

2 Contexte et état de l’artÉmergence et auto-organisationLes systèmes multi-agents adaptatifsIngénierie orientée agentBesoins pour les AMAS

3 La méthode ADELFE

4 Emploi du temps adaptatif

5 Collectif de robots transporteurs

6 Conclusion

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 4

Page 5: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Auto-organisationUn mécanisme de l’émergence

fs

fp7

fp6

fp5fp4

fp3

fp2

fp1

1 organisation ⇒ 1 fonction

Changer d’organisation ⇒ changer de fonction

Adaptation et apprentissage

Besoin d’un critère local de réorganisation non explicitementinformé de la connaissance de la fonction globale

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 5

Page 6: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Les systèmes multi-agents adaptatifs (AMAS)La coopération comme moteur de l’auto-organisation

Adaptation par auto-organisation coopérative (Équipe SMAC)

L’auto-organisation est un moyen de construire des systèmesadaptatifs

Le critère d’auto-organisation est la coopération

Coopération

Un agent est coopératif si cper et cdec et cact :

cper Les signaux perçus par l’agent sont compris sans ambiguïté

cdec L’information reçue est utile au raisonnement de l’agent

cact Le raisonnement de l’agent mène à des actions utiles aux autres

➥ Approche proscriptive : les agents, pour bien fonctionner, doiventéviter et résoudre les situations non coopératives (SNC) : ¬cper ou¬cdec ou ¬cact

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 6

Page 7: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Les systèmes multi-agents adaptatifs (AMAS)Un modèle d’agent coopératif

Architecture

Cycle de vie "perception-décision-action"

Plusieurs modules représentent une partition des capacitésphysiques, cognitives ou sociales

Attitude sociale coopérative

���������� �����

�� ����

�� ����

�� ����

�� ����

�� ����

�� ����

�� ����

���������

���������

���������

���������

���������

���������

���������

Interaction

Représentations

CompétencesAptitudes

Coopération

Stimuli Actions

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 7

Page 8: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Les systèmes multi-agents adaptatifs (AMAS)Méthodologie

Adéquation fonctionnelle

Pour tout système fonctionnellement adéquat dans un environnementdonné, il existe au moins un système ayant un milieu intérieurcoopératif qui réalise une fonction équivalente

Conséquences

Conception ascendante privilégiée

Le comportement global du système émerge des interactionscoopératives entre les agents du système

➥ Comment concevoir de tels agents et systèmes ?➥ Besoin d’une méthode de conception : le projet ADELFE

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 8

Page 9: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Ingénierie orientée agentÉtat de l’art

Influences

Le paradigme objet : A-UML, AOR, ... [Odell, 2002]

La nature : modèles sociaux et organisationnels

L’ingénierie des connaissances : KADS ou CommonKADS[Iglesias et al., 1998]

L’ingénierie des besoins : i? [Yu and Mylopoulos, 1994]

L’ingénierie orientée plate-forme : Zeus [Nwana et al., 1999]

➥ Beaucoup de méthodes existent, mais...

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 9

Page 10: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Ingénierie orientée agentÉtat de l’art

Caractéristiques des méthodes [Shehory and Sturm, 2001]

Les concepts clés et propriétés✓ Interactions et rôles souvent abordés✗ Adaptation et environnement peu ou pas pris en compte

Les notations et langages de modélisation➥ Modularité avec UML➥ Précision avec approches logiques

Le processus✓ Analyse et conception détaillées✗ Peu de ponts vers le développement et le déploiement

La pragmatique✗ Trop peu de ressources disponibles✗ Trop peu de réelles applications développées

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 10

Page 11: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Émergence SMA Ingénierie Besoins

Besoins pour les AMASAnalyse de l’existant

Doit-on s’intégrer dans une des méthodes existantes ou repartirde zéro ?

Méthodes spécifiques à des architectures (BDI, FIPA, ...)Organisations fixes et ferméesMais méthodes objets assez génériques pour s’ouvrir aux agents(ex : RUP et MESSAGE)

➥ Oui , intégration dans une méthode objet existante

Quels notations et langages doit-on adopter/créer/réutiliser ?Compromis difficile entre précision (logique) et expressivité (UML)Mais l’agent est vu comme une extension de l’objet

➥ UML et son extension orientée agent, A-UML

Existe-t-il des outils manipulant les notions avancées oufacilement modifiables/réutilisables ?

Peu de méthodes sont munies d’outilsLes outils ne sont d’aucune aide pour le suivi du processusMais des outils de conception objet ouverts

➥ OpenTool , et d’autres si nécessaire

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 11

Page 12: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

Sommaire

1 Introduction

2 Contexte et état de l’art

3 La méthode ADELFELe processus de développementLes notations – UML et A-UMLLes outils

4 Emploi du temps adaptatif

5 Collectif de robots transporteurs

6 Conclusion

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 12

Page 13: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFEProcessus - modélisation en SPEM

WD1Besoins

préliminaires

WD2Besoins finals

WD3Analyse

WD4Conception

A1: Définir les besoins utilisateurs A2: Valider les besoins utilisateursA3: Définir les besoins consensuels A4: Établir un ensemble de mots-clés A5: Extraire limites et contraintes

A6: Caractériser l’environnement S1: Déterminer les entités S2: Définir le contexteS3: Caractérisation de l’environnement

A7: Déterminer les cas d’utilisationS1: Dresser un inventaire des cas d’utilisationS2: Identifier les échecs à la coopérationS3: Élaborer les diagrammes de séquence

A8: Élaborer les prototypes d’UIA9: Valider les prototypes d’UI

A10: Analyser le domaine S1: Identifier les classesS2: Étudier les relations inter-classesS3: Construire le diagramme de classes préliminaire

A11: Vérifier l’adéquation des AMAS S1: Vérifier l’adéquation au niveau global S2: Vérifier l’adéquation au niveau local

A12: Identifier les agentsS1: Étudier les entités dans le contexte/domaineS2: Identifier les entités potentiellement coopérativesS3: Déterminer les agents

A13: Étudier les interactions entre entitésS1: Étudier les interactions entre actives et passivesS2: Étudier les interactions entre activesS3: Étudier les relations entre agents

A14: Étudier l’architecture détaillée et le modèle multi-agentS1: Déterminer les paquetagesS2: Déterminer les classesS3: Utiliser des schémas de conceptionS4: Élaborer des diagrammes de classes et de composants

A15: Étudier les langages d’interactionA16: Concevoir un agent

S1: Définir les compétences S2: Définir les aptitudes S3: Définir les langages d’interaction S4: Définir les représentations S5: Définir les SNC

A17: Prototypage rapide A18: Compléter les diagrammes de conception

S1: Améliorer les diagrammes de conception S2: Concevoir les comportements dynamiques

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 13

Page 14: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFEProcessus

Particularités & nouveautés

Analyse de l’environnement en suivant la classification de[Russel and Norvig, 1995]

Adéquation des AMAS mise en question

Identification des agents par traçage des flots à risque

Étude des langages d’interactions par protocoles AIP

Conception des agents par implémentation d’un modèle d’agentcoopératif

Prototypage rapide des comportements sociaux des agents

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 14

Page 15: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFENotations : stéréotypage

Intérêt

Attachement de règles de cohérence à l’utilisation de classes duméta-modèle UML

Intégration simple dans la plupart des outils OO

Modification en surface du métamodèle UML

Les stéréotypes d’ADELFE

1 pour les classes d’agents coopératifs : «cooperative agent»

1 pour les propriétés intrinsèques : «characteristic»

1 par module : «interaction», «perception», «action»,«representation», «skill», «aptitudes»

1 pour les règles de coopération : «cooperation»

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 15

Page 16: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFENotations : protocoles

Protocoles A-UML étendus

Représentation desinteractions sociales

Diagrammes de séquencegénériques d’UML 1.4

Notion de rôle encapsuléedans le protocole

Branchements plus riches

Coopération lors de laréception

Buyer / BuyerRole

contractInitiation()

Seller /Seller Role

seller_cfp()

inform()«cooperation» : op2

cancel()

xnot_understood()

propose()

«cooperation» : op2

[NOT(deadline)] aptitude1()

x

refuse_1()

«cooperation» : op2

refuse_2()

analyze_failure()

xtest_proposal() accept_proposal()

reject_proposal()

Buyer / BuyerRole

contractInitiation()

Seller /Seller Role

seller_cfp()

inform()«cooperation» : op2

cancel()

xnot_understood()

propose()

«cooperation» : op2

[NOT(deadline)] aptitude1()

x

refuse_1()

«cooperation» : op2

refuse_2()

analyze_failure()

xtest_proposal() accept_proposal()

reject_proposal()

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 16

Page 17: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFENotations : machines à états finis

Utilisation

Modélisation du comportement dynamique des agents

Modélisation des interactions, par transformation de protocoles

Machines concurrentes pour protocoles concurrents

Simulation possible dans OpenTool

Alive

ContractInitiation

Idle

BuyerRoleProtocoleAUML

exception_BuyerRole

contractInitiation

Idle

Alive

ContractInitiation

Idle

BuyerRoleProtocoleAUML

exception_BuyerRole

contractInitiation

Idle

Alive

Idle

Idle

Seller_cfp

seller_cfp

exception_SellerRole

SellerRoleProtocoleAUML

Alive

Idle

Idle

Seller_cfp

seller_cfp

exception_SellerRole

SellerRoleProtocoleAUML

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 17

Page 18: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFEOutils

Support des notations : OpenTool

Étendu aux notations d’ADELFE

Transformation automatique des protocoles en machines à états

Simulation de machines à états

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 18

Page 19: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Processus Notations Outils

ADELFEOutils

Support du processus : AdelfeToolkit

Livre interactif présentant le processus

Raccourcis vers les logiciels de conception

Adéquation des AMAS

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 19

Page 20: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analys e

Sommaire

1 Introduction

2 Contexte et état de l’art

3 La méthode ADELFE

4 Emploi du temps adaptatifPrésentationLes agents dans ETTOCoopérationExpérimentationsAnalyse et bilan

5 Collectif de robots transporteurs

6 Conclusion

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 20

Page 21: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOPrésentation

Cahier des charges

Solveur dynamique d’emplois du temps universitaires

Les contraintes des acteurs sont modifiables à tout moment

Les résolutions ne doivent pas se reconstruire à chaquemodification

➥ AMAS pertinents en terme de réorganisation dynamique➥ Emergent Time Tabling Organisation

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 21

Page 22: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOLes agents

Les RepresentativeAgents

Représentent les acteurs humains (enseignants, étudiants)

Regroupent les contraintes de disponibilité, d’équipements, ...

Délèguent la recherche de créneaux et de salles auxBookingAgents

Les BookingAgents

Représentent un enseignement d’un acteur (à suivre ou àdonner)

Réservent les créneaux horaires et les salles de manièrecoopérative

La cohérence de leurs réservations est assurée par leurRepresentativeAgent

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 22

Page 23: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOLes agents

«cooperative agent»BookingAgent

- run ()- perceive ()- decide ()- act ()

- father- son

1*

perception+ message ()- currentCell: Cell- roomInfo: String [*]- nearAgents: BookingAgent [*]

interaction+ getInformation ()+ inform ()+ informAboutConstraints ()+ acceptPartnership ()+ acceptFreeRoom ()+ bookingAgentSeen ()

representation- ownConstraints: Constraint [*]- bookingStates: BookingState [*]- partnershipState: PartnershipState- brothersConstraints: Constraint [*]- ownPartner: BookingAgent- lastEncounteredAgents: BookingAgent [*]

skill- findNextCell ()- isProposalAcceptable ()- interpretMessage ()

aptitude- manageConstraints ()- manageReservations ()- managePartners ()- manageMessages ()- isRoomFitting ()

cooperation- bookingIncompetence ()- bookingConflict ()- bookingUselessness ()- messageUnproductivity ()- partnershipConflict ()- partnershipIncompetence ()

action- bookRoom ()- freeRoom ()- signPartnership ()- cancelPartnership ()- sendMessage ()

«cooperative agent»StudentGroup

- perceive ()- decide ()- act ()

perceptionrepresentationskillaptitudecooperationaction

«cooperative agent»Teacher

- perceive ()- decide ()- act ()

perceptionrepresentationskillaptitudecooperationaction

«cooperative agent»RepresentativeAgent

- run ()- decide ()- act ()- perceive ()

perception+ message ()

representation- bookingAgents: BookingAgent [1..*]- manager: Person- ownConstraints: Constraint [*]- representedPerson: Person

skill- interpretMessage ()

aptitude- manageBookingAgents ()- manageConstraints ()- manageMessages ()

cooperation- Incompetence ()

action- createBookingAgent ()- deleteBookingAgent ()- addConstraints ()- deleteConstraints ()- sendMessage ()

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 23

Page 24: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOCoopération des BookingAgents

�������������� ��� ���������

�������������� ��� ��������� �������������� ��� ���������

��� ���� �� ����������������������� ����

�� ��

• �� ������ ��������� �� ! �"#� �"#$"�

• ������ ����

���#�!%��$&$��! � ''"(

• �� ������ ��������� �� ! �"#� �"#$"�

• ������ ����

���#�!%��$&$��! � ''"(

• �� ������ ��������� �� ! �"#� �"#$"��������� �� ! #�' #&"�$��

• ������ ����

���#�!%��$&$��! � ''"(

• �� ������ ��������� �� ! �"#� �"#$"��������� �� ! #�' #&"�$��

• ������ ����

���#�!%��$&$��! � ''"(

� ��

• ��)��*��+,$�! �"#� �"#$"�*��+,$�! #�' #&"�$��

• ��)��*��+,$�! �"#� �"#$"�*��+,$�! #�' #&"�$��

• �������

��%�$,$��! #�' #&"�$��

• ��)��*��+,$�! �"#� �"#$"�*��+,$�! #�' #&"�$��

• ��)��*��+,$�! �"#� �"#$"�*��+,$�! #�' #&"�$��

• �������

��%�$,$��! #�' #&"�$��

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 24

Page 25: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOCoopération des BookingAgents

SNC = condition de réorganisationSNC → action de résolution

Les 6 SNC dans ETTO

Incompétence de partenariat➥ déplacement + mémorisation

Incompétence de réservation➥ déplacement + mémorisation

Improductivité de message➥ retour du message

Conflit de partenariat➥ négociation (déplacement ou partenariat)

Conflit de réservation➥ négociation (déplacement ou réservation)

Inutilité de réservation➥ déplacement

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 25

Page 26: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOExpérimentations

0

20

40

60

80

100

120

140

160

180

0 20 40 60 80 100 120 140

nombre d'agents

tem

ps to

tal (

seco

ndes

) ou

nom

bre

de c

ycle

s m

oyen

cycles

tps réel

tps utilisateur

tps système

Variation du temps de résolution en fonction du nombre d’agents

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 26

Page 27: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOExpérimentations

0

5

10

15

20

25

30

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91

Pas

Coût des contraintes relâchées

Nombre de couples maximum

Nombre de couples établis

Nombre de réservations

Coût total des contraintes

Variation des contraintes en cours de résolution

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 27

Page 28: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOExpérimentations

0

5

10

15

20

25

30

35

40

45

1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 253 267 281 295 309 323 337 351 365 379 393

Pas

Coût des contraintes relâchées

Nombre de couples maximum

Nombre de couples établis

Nombre de réservations

Coût total des contraintes

Variation des contraintes en cours de résolution, avec suppression de8 BookingAgents après stabilisation du système

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 28

Page 29: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOExpérimentations

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 29

Page 30: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Présentation Agents Coopération Expérimentations Analyse

ETTOAnalyse et bilan

Application d’ADELFE à un problème d’emploi du tempsdynamiqueDidacticiel d’ADELFEÉmergence d’une organisation adéquate

Remarques

Le système ne possède aucun critère d’arrêt

✓ L’ajout d’agents surnuméraires peut favoriser l’amélioration de lasolution

✓ Les actions à mener sont relativement simples

✓ ADELFE a aidé à identifier les deux niveaux d’agents

✗ Les agents de réservation ne sont pas efficaces dans leurexploration de la grille

✗ Seules les modifications concernant les agents ont étéimplémentées car elles étaient prioritaires

✗ ETTO n’a pas été comparé à d’autres approches, plus classiques

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 30

Page 31: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Sommaire

1 Introduction

2 Contexte et état de l’art

3 La méthode ADELFE

4 Emploi du temps adaptatif

5 Collectif de robots transporteursModulesDécision des actionsComportement coopératifExpérimentations et résultatsAnalyse et bilan

6 Conclusion

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 31

Page 32: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Collectif de robots transporteursPrésentation

Robots

Autonomes

Tâche de transport deressources

Entités de micro-niveau

Non communicants

Environnement

2 salles

n couloirs étroits séparentles salles

➥ Interférencesspatiales

➥ Focalisation sur laconception

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 32

Page 33: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Robot transporteur «cooperative agent»Modules & Stéréotypes

«perception» : cône, proximité, types, position

«action» : rest, pick, drop, forward, backward, left et right

«skill» : préférences sur les actions nominales

«characteristics» : poids transportable, vitesse, réflexes

«representation» : position, direction, but et actions précédentes

«aptitude» : méthodes qui choisissent la prochaine actionnominale parmi les actions disponibles (Monte Carlo)

«coopération» : méthodes choisissent la prochaine action parmiles actions disponibles pour être le plus coopératif + méthodesde détection des SNC

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 33

Page 34: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Décision des actionsImplémenter en comportement nominal

Comportement nominal – évaluation des actions

V nomiri

(actj , t) = wpri (actj , t) + wmri (actj , t) + wrri (actj)

wpri (actj , t) : valeur calculée en fonction des perceptions

wmri (actj , t) : valeur calculée en fonction de la mémoire

wrri (actj , t) : valeur calculée en fonction des réflexes

➥ Un vecteur de préférences des actions est généré

Comportement coopératif – évaluation des actions

V coopri

(actj , t) = wp′

ri(actj , t) + wm′

ri(actj , t) + wr ′ri

(actj )

Comportement composite de l’agent

Vri (t) = V nomiri

(t) ≺ V coopri

(t)

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 34

Page 35: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Comportement coopératifCoopération réactive & coopération anticipative

2 SNC de blocage (dans le module de coopération)

Un robot est bloqué➥ "Se déplacer sur le côté" ou "Le robot le plus proche de sonbut l’emporte"

Un robot se retourne➥ "Se déplacer sur le côté" ou "Continuer tout droit jusqu’à unblocage"

1 SNC d’anticipation (dans le module de coopération)

Pour éviter les zones à risque

Un robot voit un robot antinomique➥ "Se déplacer sur le côté" ou "Se déplacer en avant"

Mémoire (dans le module de représentation)

Balises virtuelles : 〈posX(rj , t), posY (rj , t), goal(ri , t), w〉

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 35

Page 36: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Expérimentations et résultatsRéaction et anticipation

02000400060008000

10000

1200014000160001800020000

0 20000 40000 60000 80000 100000

Steps

Box

es

Comportement coopératif de déblocage

Comportement coopératif de déblocage et d'anticipation

Comportement nominal

Nombre de boîtes transportées pour 15 simulations (300 robots, 2couloirs)

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 36

Page 37: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Expérimentations et résultatsÉmergence - Fréquentation

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000

StepsR

obot

s

Moving to claim zoneMoving to laying zone

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000

Steps

Rob

ots

Moving to claim zoneMoving to laying zone

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000

StepsR

obot

s

Moving to claim zoneMoving to laying zone

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000

Steps

Rob

ots

Moving to claim zoneMoving to laying zone

Nombre de robots entrant dans un couloir pour deux comportementscoopératifs : déblocage réactif (à gauche) et déblocage avecanticipation (à droite)

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 37

Page 38: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Expérimentations et résultatsÉmergence - Position des balises

Position de toutes les balises de tous les robots (somme de toutes lesmémoires individuelles)

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 38

Page 39: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Expérimentations et résultatsÉmergence - Comportement global

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 39

Page 40: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Expérimentations et résultatsÉmergence - Adaptation

Placement des balises virtuelles dans un environnement dynamiqueà quatre couloirs dont deux sont obturés, pour 300 robots

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 40

Page 41: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Modules Décision Coopération Expérimentations Analyse

Collectif de robots transporteursAnalyse et bilan

Application d’ADELFE à un problème de transport de ressourcesmulti-robot

Émergence d’un comportement global efficace et adaptatif

Remarques

✓ ADELFE : conception modulaire

✓ Pas de communication

✓ Pas de mémoire partagée

✓ Comportement robuste et adaptatif

✓ Pas de feedback global

✗ Position absolue

✗ Les paramètres sont difficiles à déterminer

✗ ADELFE n’aide pas à trouver les instances de SNC, carproblème de régulation, plus que de réorganisation

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 41

Page 42: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Analyse Perspectives Bilan

Sommaire

1 Introduction

2 Contexte et état de l’art

3 La méthode ADELFE

4 Emploi du temps adaptatif

5 Collectif de robots transporteurs

6 ConclusionAnalyse d’ADELFEPerspectives pour ADELFEBilan

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 42

Page 43: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Analyse Perspectives Bilan

ConclusionAnalyse d’ADELFE

Applications d’ADELFE

ETTO, robotique collective

SYNAMEC, MicroMéga, Adaptive JRules

➥ Enseignements

Points forts & points faibles

✓ Concepts : adaptation, ouverture, interaction et réactivité

✓ Notations : exécution et modularité

✓ Processus : analyse, conception, délivrables et gestion

✓ Pragmatique : ressources

✗ Manque de définition des concepts

✗ Défauts de l’approche Objet/UML

✗ Manque de formalisme

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 43

Page 44: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Analyse Perspectives Bilan

ConclusionPerspectives pour ADELFE

Vers plus de formalisme

Tentatives passées : B, ensembles, ...

Automates formels

Vers un processus plus complet et plus vivant : Living Design

Glissement vers les phases "vivantes" du processus

Décalage de processus objet-agent par chevauchement

Prototypage rapide plus évolué

Vers une méthode plus adaptée : MétADELFE

Idée : les travaux et activités d’un processus doivent s’agencerafin de répondre aux besoins des concepteurs

Utilisation d’ADELFE sur le domaine des méthodes (SPEM)

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 44

Page 45: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion Analyse Perspectives Bilan

ConclusionBilan

Objectif : définir un cadre de développement de systèmes émergentspour les non spécialistes

Les choix

Les AMAS

L’ingénierie orientée objet et le RUP

Apports

Méthodologiques : SPEM, A-UML, AdelfeToolkit

AMAS : modèle d’agent coopératif, coopération

Exemples illustratifs

ETTO : agents communicants orientés utilisateurs

Robotique collective : agents quasi-réactifs non communicants

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 45

Page 46: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion

?

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 46

Page 47: Méthodologie de développement de systèmes multi …picard/files/theseGauthierPicardPresentation.pdf · Compromis difficile entre précision (logique) et expressivité (UML) Mais

Introduction Contexte ADELFE ETTO Robotique Conclusion

Bibliographie

Ali, S., Zimmer, R., and Elstob, C. (1997).The question concerning emergence : Implication for Artificiality.In Dubois, D.M., editor, Computing Anticipatory Systems :CASYS’97 - First International Conference.

Goldstein, J. (1999).Emergence as a Construct : History and Issues.Journal of Complexity Issues in Organizations and Management,1(1).

Iglesias, C. A., Garijo, M., González, J. C., and Velasco, J. R.(1998).Analysis and design of multiagent systems usingMAS-CommonKADS.In Singh, M. P., Rao, A., and Wooldridge, M. J., editors, IntelligentAgents IV : Agent Theories, Architectures and Languages,volume 1365 of Lecture Notes in Artificial Intelligence (LNAI).Springer-Verlag.

Langton, C. (1990).Computation at the Edge of Chaos – Phase Transition andEmergent Computation.

Méthodologie de développement de systèmes multi-agents ad aptatifs Gauthier Picard 47