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
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
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
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
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).
Plan de l’exposé Le contrôle d’agents La description du contrôle Génération des agents autocontrôlés
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
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
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
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.
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
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
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
Plan de l’exposé Le contrôle d’agent La description du contrôle La génération des agents autocontrôlés
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.
Concepts de base Agent Caractéristique Action Message Objet But Plan Connaissance Action CreationAgent ReceptionMessage EnvoiMessage Migration
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)]).
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
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
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 »).
Plan de l’exposé Le contrôle d’agent La description du contrôle La génération des agents autocontrôlés
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
Principe de l’observateur CONNEXIONS PROGRAMME SOUS SURVEILLANCE MODELE CONTROLEUR
Principe de l’observateur PROGRAMME MODELE Début S1 Fin S1 Début S2 Fin S2
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
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
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
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))
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)
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
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
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
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
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é)
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.
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!!!!
Fin… …MERCI!!!