Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parHyacinthe Bousquet Modifié depuis plus de 10 années
1
Contrôle de l’émergence dans les systèmes d’agents cognitifs autonomes
Contrôle de l’émergence dans les systèmes d’agents cognitifs autonomes. Vers la génération automatique d’agents autocontrôlés Caroline Chopinaud Amal El Fallah Seghrouchni Patrick Taillibert Le 27 Février 2006 – Séminaire SMA – LIP6
2
Contexte et Problématique
Applications critiques Systèmes embarqués Systèmes temps réels Utilisation des systèmes multiagents (SMA) Réduire la complexité de conception (modularité) Augmenter la robustesse (décentralisation, autonomie) Problématique Confiance dans le comportement du SMA Etre en accord avec les spécifications Eviter les comportements inattendus pouvant entraîner l’échec du système
3
Problèmes de confiance
Autonomie des agents Prend seul ses décisions [Barber 99] Emergence du comportement du système Comportements attendus Comportements inattendus Peut entraîner l’échec du système Apparition de comportements indésirables = comportements inattendus ne respectant pas les spécifications du système
4
Problème supplémentaire
Bugs du système Vérification classique pas sûre à 100% Model Checking sur un modèle du système (très coûteux) Tests non exhaustifs Démonstration automatique lourde et complexe SMA accroît les difficultés de validation Modélisation (explosion d’états) Indéterminisme Distribution Communication asynchrone Apparition d’erreurs en condition réelle d’exécution
5
Garantir qu’un SMA ne génèrera pas de comportements indésirables
Objectif! Garantir qu’un SMA ne génèrera pas de comportements indésirables Compte des problèmes inhérents à l’utilisation des SMA et du fait que l’on veut pouvoir avoir confiance dans le comportement du système (rappelons que l’on est dans un milieu industriel ou il est nécessaire de garantir que les applications ne vont pas faire n’importe, le fait d’avoir des comportements émergents fait forcément peur).
6
Plan de l’exposé Le contrôle d’agents La description du contrôle Génération des agents autocontrôlés
7
Le contrôle d’agent 3 étapes : Surveillance du comportement des agents
Détection des comportements indésirables Régulation du comportement des agents problématiques
8
Surveillance du comportement
Monitoring (software) : Observation et compréhension du comportement d’un programme au cours de son exécution Instrumentation des programmes pour observer les événements Insertion de sondes logicielles Manuelle ou automatique Instrumentation automatique Code des agents Facilite le travail du développeur Réduit le risque d’erreur
9
Le contrôle d’agent 3 étapes : Surveillance du comportement des agents
Détection des comportements indésirables Régulation du comportement des agents problématiques
10
Détection des comportements indésirables (1)
Normes Définition des comportements ou des situations idéales Contraintes/indications sur le comportement Éviter des conflits Restreindre les possibilités d’action des agents Confiance entre les agents Accepter et respecter les normes au moment de la prise de décision Les normes servent à orienter le comportement des agents en définissant un comportement ou une situation idéale que l’agent peut choisir ou non de suivre. Elles servent à prédire le comportement des autres agents en supposant qu’ils vont effectivement respecter les normes.
11
Détection des comportements indésirables (2)
Lois Normes non prises en compte au moment de la prise de décisions Séparation de la définition du contrôle et de l’implémentation des agents Définissent des comportements et des situations souhaités ou redoutés Correspondent aux exigences significatives du fonctionnement du système Détection de transgression des lois
12
Le contrôle d’agent 3 étapes : Surveillance du comportement des agents
Détection des comportements indésirables Régulation du comportement des agents problématiques
13
Régulation du comportement
Effectuée par les agents eux-mêmes Capacité de raisonnement Informations de transgression Stratégie de régulation Fournie par le développeur Associée à la transgression d’une loi
14
Plan de l’exposé Le contrôle d’agent La description du contrôle La génération des agents autocontrôlés
15
Fournit un ensemble de concepts de base
Description des lois Fournit un ensemble de concepts de base Utilisés dans les lois Utilisés pour décrire l’application et le modèle d’agent Étendus pour raffiner la description Par le concepteur du modèle et de l’application Reliés à l’implémentation du modèle d’agent Définition de liens par les concepteurs Fournit un langage de lois Description d’actions ou d’états Redoutés Souhaités Notion de temps ou de relation temporelle Le concepteur du modèle décrit les liens entre les concepts et le code pour permettre l’instrumentation des programmes des agents. Elles ne sont qu’à faire qu’une seule par modèle et peuvent être validées pour être s’assurer que si un agent est soumis à des lois, elles seront forcément prise en compte si elles utilisent les concepts définissant le modèle. Le concepteur du SMA décrit les concepts caractéristiques de ces agents sachant que ces concepts doivent être des sous-concepts des concepts du modèle pour ne pas avoir à spécifier les liens entre ces concepts et le code des agents. Ceci pour éviter les erreurs et pour ne pas compliquer le travail du développeur du système.
16
Concepts de base Agent Caractéristique Action Message Objet But Plan
Connaissance Action CreationAgent ReceptionMessage EnvoiMessage Migration
17
Liens concepts/implémentation : hook(‘EnvoiMessage’,
Exemples Concepts : Agent(nom, type) EnvoiMessage(expéditeur, destinataire, message) Liens concepts/implémentation : hook(‘EnvoiMessage’, predicate(sendMessage, 2), [MESSAGE, RECEIVER], [argument(1), argument(2)]).
18
Langage de description (1)
Opérateurs déontiques. Interdiction (FORBIDDEN) Obligation (OBLIGED) Actions Agent do Action Action ou changement de valeur d’une Caractéristique Etats Agent be State Etat résultant d’une Action ou valeur d’une Caractéristique Notion temporelle BEFORE/AFTER (une action) [avec du temps (+/- secondes)] IF (un état) Enchaînement d’actions/états THEN Conjonction d’actions/états AND
19
Langage de description (2)
Sous-ensemble de la logique déontique dynamique [Meyer 85] Logique modale Opérateur déontique standard [von Wright 51] Obligation Interdiction Permission Exprime la différence entre l’idéal et le réel (notion de violation) Relation temporelle entre actions et états du monde
20
Exemple de lois (agent : Agent) FORBIDDEN (agent do EnvoiMessage)
AFTER (agent do EnvoiMessage) – 10. (agentA : Agent && agentB : Agent) FORBIDDEN (agentA do Migration) IF (agentB be Migration). (agentA : Agent) OBLIGED (agentA do EnvoiMessage and content = « A ») AND (agentA do EnvoiMessage and content = « B »).
21
Plan de l’exposé Le contrôle d’agent La description du contrôle La génération des agents autocontrôlés
22
Agent autocontrôlés (1)
Génération automatique à partir de Programme de comportement Ensemble de lois associées Liens entre les concepts et l’implémentation Autocontrôle Principe de l’observateur Architecture d’agent spécifique
23
Principe de l’observateur
CONNEXIONS PROGRAMME SOUS SURVEILLANCE MODELE CONTROLEUR
24
Principe de l’observateur
PROGRAMME MODELE Début S1 Fin S1 Début S2 Fin S2
25
Principe de l’observateur [Diaz 1994]
Agent autocontrôlé (2) Principe de l’observateur [Diaz 1994] Installer au sein des agents Modélisation des lois sous forme de réseau de Petri Relier les lois au programme des agents par des points de contrôle
26
Génération automatique (1)
Insertion des points de contrôle (instrumentation) Utilisation du tissage Principe de la programmation par aspect [Wampler 2003] Injection de code à partir de la définition de point de jonction. Au niveau des événements décrits dans les lois A partir de la description des liens concepts/implémentation
27
Génération automatique (2)
Génération automatique du réseau de Petri. LOI Expression logique {Réseaux de Petri} RESEAU DE PETRI Règles de traduction en DDL Régles de traduction en RP Règles de fusion
28
Règles de génération Règles de traduction en DDL
FORBIDDEN a => F a FORBIDDEN a AFTER b => [b]F a FORBIDDEN a BEFORE b => done(b) v F a … Règles de traduction en RP F a => <(pi,pj),ta,Pre*(pi,ta),Post(pj,ta)> O a => <(pi,pj),ta,Pre(pi,ta),Post(pj,ta)> Règles de fusion [b]O a =>merge(Post(p,tb), Pre(p,ta) a v b => merge(Pre(p,tb),Pre(b,ta))
29
Génération automatique (3)
FORBIDDEN (ACT2) AFTER (ACT1) - 1 => [ACT1](done(time(1)) v F(ACT2)) ACT1 [a]b a v b ACT2 [1,1] ACT1 done(time(1)) F(ACT2)
30
Architecture de contrôle
Partie Comportement Partie Contrôle Surveillance du comportement Comportement Informations Détection de transgression Stratégies de Régulation Infos transgression
31
Fonctionnement du contrôle
FORBIDDEN (agent do action2) after (agent do action1) – 1. Code de l’agent ClauseAction1(…) PC(EV1) … PC(EV2) ClauseAction2(…) [1,1] Information de transgression
32
A propos du contrôle multiagent
Loi concernant plusieurs agents Génération du RP Comme pour un seul agent Détection des transgressions Répartition du réseau entre les parties contrôles Règles de distribution Interaction des parties contrôles Passation du jeton Régulation du ou des agents incriminés Stratégies de régulation A l’étude
33
Implémentation et application
Framework SCAAR Permet la génération automatique d’agents autocontrôlés Première version en cours écrite en Prolog Application au SMA « Interloc » Permet la localisation passive d’objets en mouvement Utilisé pour démontrer la robustesse des applications multiagents Propose des comportements incohérents (sourds, muets, égoiste…) Réalisé en Prolog Utilise la plateforme ALBA Librairie Prolog pour la création de SMA
34
Conclusion Contrôle d’agent Framework SCAAR Par les agents eux-mêmes
A l’aide de lois Framework SCAAR Fournit des concepts de base pour décrire l’application Langage de description des concepts Langage de description des liens concepts/implémentation Fournit le langage de description des lois (Implémenté) Permet la génération des agents Génération des réseaux de Petri (Implémenté) Instrumentation du code des agents (Implémenté en partie) Mise en place d’une architecture de contrôle (Implémenté)
35
Publications 1. Caroline Chopinaud. Contrôle dynamique d'agents autonomes. RJCIA'05. Plateforme AFIA. Prix du meilleur exposé 2. Caroline Chopinaud, Amal El Fallah Seghrouchni and Patrick Taillibert. Dynamic self-control of autonomous agents. PROMAS’05 (Workshop at AAMAS’05). 3. Caroline Chopinaud, Amal El Fallah Seghrouchni and Patrick Taillibert. Automatic generation of self-controlled autonomous agents. IEEE/WIC/ACM, IAT'05. (short paper). 4. Caroline Chopinaud, Patrick Taillibert, Amal El Fallah Seghrouchni. Contrôle de la conformité des comportements individuels d'agents cognitifs autonomes. JFSMA'05, Edition Hermes. Prix du meilleur papier. 5. Caroline Chopinaud. Contrôle dynamique d'agents autonomes. Bulletin de l'AFIA, à paraître. (résumé). 6. Caroline Chopinaud, Amal El Fallah Seghrouchni and Patrick Taillibert. Dynamic Self-control of autonomous agents. PROMAS post-proceedings, LNCS, Springer Verlag, to appear. 7. Benjamin Deveze, Caroline Chopinaud and Patrick Taillibert. ALBA: a Generic Library for Programming Mobile Agents with Prolog. PROMAS’06.To appear.
36
Ce qu’il reste à faire Terminer l’implémentation de SCAAR
Les langages de concepts et de liens Le tissage du code des agents Les lois multiagents Etudier la partie régulation Trouver un début de solution (Aide au développeur des stratégies) Rédiger!!!!
37
Fin… …MERCI!!!
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.