Une synthèse d'AUML José Ghislain Quenum Doctorant Equipe OASIS LIP6 18 Sep. 20
Une synthèse d'AUML José Ghislain Quenum Doctorant Equipe OASIS LIP6 18 Sep. 2003 Plan AUML ? AUML = Agent + UML AUML et les autres méthodologies orientées agent Limitations d'AUML AUML ? « Pour parvenir à vendre la technologie agent, il faut arriver à réduire le risque inhérent à toute nouvelle technologie en la présentant comme une extension de méthodes déjà éprouvées et en fournissant des outils pour son utilisation» [1] L'adoption large dont UML a fait l'objet Le paradigme agent pourrait succéder valablement à celui objet Les limitations d'UML face au paradigme agent: Les agents sont proactifs et autonomes Les agents interagissent les uns avec les autres AUML = Agent + UML Représentation des classes d'agent ; Mécanismes de modélisation des interactions entre agents AUML : les diagrammes de classes d'agent (1) La notion de classe dans les objets : Variables d'instances ; Statiques (variables globales) ; Méthodes et méthodes statiques ; Les notions de constructeur, d'interface, de réalisation, de visibilité des variables et méthodes. AUML : les diagrammes de classes d'agent (2) Agent versus [2] objet : Autonomie; Pro et réactivité ; Communication à base d'actes de langage ; Architecture interne plus complexe AUML : les diagrammes de classes d'agent (3) « Une classe d'agent représente un agent ou un groupe d'agents pouvant jouer un rôle ou avoir un comportement déterminé »[2] Une classe d'agent comporte : Description de la classe d'agent et des rôles; Description de l'état interne ; Actions, méthodes et services fournis ; Messages échangés AUML: les diagrammes de classes d'agent (4) Description de la classe et des rôles Rôle d'agent : ensemble d'agents ayant certaines propriétés, interfaces et services ou des comportements précis ; La forme générale est : inst1 ... instn / role1 ... rolem:class (on omet souvent les instances) Exemples (dans le filtrage des documents): Psolver, Client / DocumentAgent ; Psolver, Psubmitter / RequestAgent AUML: les diagrammes de classes d'agent (5) Description de l'état interne de l'agent Définition de variables d'intances qui réflettent l'état de l'agent (types utlisés dans les objets + ebf pour décrire les expressions logiques, ex:beliefs, desires, intentions, goals,) ; Visibilité (public, private, ...) + persistance (« pesistent ») Exemple : L'objet document : privé et non persistant AUML: les diagrammes de classes d'agent (6) Actions : Type = pro-active et réactive ; Signature = visibilité + nom + liste de paramètres ; Sémantique = pré + post conditions + effets + invariants ; Méthodes : Comme dans UML avec Pré, post conditions et effet Services Description informelle des services fournis AUML: les diagrammes de classes d'agent (7) Description des messages émis et reçus par l'agent en précisant les protocoles Un automate représente les changements d'état induits par les échanges de messages AC / Protocole Message émis Message reçu AC / Protocole AUML : les protocoles (1) Exemple de représentation Submitter Solver Query X Accept Refuse X Query X Inform Cancel Inform Safir Incremental Problem Solver Initiation du problème Submitter, Solver Query, refuse, accept, inform, cancel décrit le protocole comme un package : une agrégation conceptuelle de séquences d'interaction Le pattern d'interaction est représenté comme un template avec les paramètres à spécialiser à chaque instanciation Le protocole peut être considéré comme un pattern à spécialiser suivant les cas AUML : les protocoles (2) Une approche en couches : Dans le protocole de la page 12, aucune précision n'est donnée sur le traitement ou la construction des messages : La construction de la requête (par Submitter) peut être un processus complexe décrit par un diagramme d'activités ; Le traitement de cette requête (par Solver) peut être décrit par un autre diagramme d'activités ou de séquence. Ce découpage en couches réifie les processus inter- agents et ceux internes à chaque agent AUML : les protocoles (3) Le protocole est la couche supérieure représentée sous la forme de package ou de template Un package agrège des morceaux de modèles pour former un ensemble conceptuel ; Ex : utilisation de la notion de package pour représenter l'imbrication de protocoles ; Un template est un modèle ayant des paramètres qui sont spécialisés à l'instanciation. Trois types de paramètres : rôle, contraintes et actes de communication Ex : description d'une instanciation de la résolution incrémentale AUML : les protocoles (4) Les échanges entre agents sont la deuxième couche : Diagrammes de séquences ; Diagrammes de collaboration ; Diagrammes d'activités ; Diagrammes d'états–transitions AUML : les protocoles (5) Diagrammes de séquences : Nommage des acteurs : nom-agent/rôle:classe ; Les messages échangés ne sont plus des noms de méthodes mais des actes de communication ; Les threads d'interaction concurrents : Émissions concurrentes : connecteur and ; 0 ou plusieurs émissions à la fois : connecteur or ; 1 seule émission parmi plusieurs candidates : connecteur xor AUML : les protocoles (6) Diagrammes de collaboration : Se construisent comme dans les modèles objets ; Similaires aux diagrammes de séquences ; Diagrammes d'activités : Décrivent les opérations entre agents et les événements qui les déclenchent ; Comparables aux réseaux de pétri colorés : Représentation graphique des processus ; Représentation des traitements concurrents et asynchrones ; Représentation de communications simultanées avec divers participants AUML : les protocoles (7) Exemple : une partie du diagramme d'activités du PRI Submitter Solver Decalre Problem Handle Problem Declaration AUML : les protocoles (8) Diagramme d'états-transitions : Décrit les changements d'état lors des échanges entre agents ; Facilite la description des contraintes sur les protocoles AUML : les protocoles (9) Les traitements internes de l'agent constituent la troisième couche : Diagramme d'activités pour chaque agent ; Diagramme d'états-transitions pour chaque agent AUML : les protocoles (10) Notions complémentaires : conditions sur les messages émis (entre accolades) ; Nombre de copies des messages émis ; Types de message : asynchrone, synchrone, retardé ; Répétition d'émission de certains messages ; Composition de protocoles : inclusion + imbrication AUML : les protocoles (11) D'autres extensions [4] : Diffusion (liste destinataires inconnue) ; Synchronisation (point de synthèse des acteurs) ; Déclenchement d'actions pour corriger un msg reçu ; Traitement des exceptions (msg non attendu ou performance en baisse); Gestion du temps (tout le protocole ou certains msg); Transactions atomiques ; Émission de message jusqu'à acquitement AUML et les autres méthodologies Les objectifs entre AUML et nombre de méthodologies (Gaia, MaSE, etc.) orientées agent sont communs : partir de méthodologies ou langages de modélisation orientés objet et les étendre au paradigme agent ; Des représentations (diagramme ou modèle) entre AUML et diverses méthodologies Limitations d'AUML Selon [5], AUML présente les limitations ci- après: Les diagrammes sont désordonnés et peuvent être mal interprétés ; L'expression de toutes les informations nécessaires sur les protocoles peut les rendre illisibles ; Les cas de redondance sont difficiles à identifier et corriger ; La description des actions temporelles (telles que le timeout, deadline, ...) est difficile à exprimer La notion d'historique des échanges n'existe pas ; La terminaison des interactions n'est pas toujours spécifiée, surtout Références [1] Bernhard Bauer, Jörg P. Müller, James Odell, « Agent UML: A Formalism for Specifying Multiagent Software Systems », International Journal of software Engineering and Knowledge Engineering, Vol 11, n°3, 2001, 207-230 [2] Bernhard Bauer, « UML Class Diagram Revisited in the Context of Agent-Based Systems », AOSE 2001, Montreal, 2001 [3] James Odell, Van Dyke Parunak and Bernhard Bauer, « Extending UML for Agents », Proc of the AOIS at the 17th National conference on Artificial Intelligence [4] Marc-Philippe Huget, « Extending Agent UML Protocol Diagrams », Technical Report ULCS02-014, Department of Computer Science, University of Liverpool, 2002 [5] S. Paurobally, R. Cunningham and N. R. Jennings, « Developping Agent Interaction Protocols using Graphical Methodologies », In Workshop on Programming MAS, AAMAS, 2003 Je vous remercie! uploads/Science et Technologie/ auml 1 .pdf
Documents similaires
-
14
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 03, 2022
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 0.0546MB