Continuations pour la programmation de comportement d'agent - intégration à la plate-forme Jade

Saved in:
Bibliographic Details
Title: Continuations pour la programmation de comportement d'agent - intégration à la plate-forme Jade
Authors: Jouvin, Denis
Contributors: Supporting Interaction and Learning by Experience (SILEX), Laboratoire d'InfoRmatique en Image et Systèmes d'information (LIRIS), Université Lumière - Lyon 2 (UL2)-École Centrale de Lyon (ECL), Université de Lyon-Université de Lyon-Université Claude Bernard Lyon 1 (UCBL), Université de Lyon-Institut National des Sciences Appliquées de Lyon (INSA Lyon), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Centre National de la Recherche Scientifique (CNRS)-Université Lumière - Lyon 2 (UL2)-École Centrale de Lyon (ECL), Université de Lyon-Institut National des Sciences Appliquées (INSA)-Institut National des Sciences Appliquées (INSA)-Centre National de la Recherche Scientifique (CNRS)
Source: ISSN: 0992-499X ; EISSN: 1958-5748.
Publisher Information: CCSD
Lavoisier
Publication Year: 2007
Subject Terms: [INFO]Computer Science [cs]
Description: National audience ; Continuations are a well established programming concept that allows capturing and resuming the current program state. They can be found in several functional programming languages (such as Scheme), in Hewitt actor model, and more recently in dynamic program-ming languages (such as Ruby, Smalltalk, Python, and even Javascript or Java). They have been historically applied to automaton programming, cooperative threads, compilation tech-niques, and have lastly raised interest for web application programming. This paper shows how this concept happens to be especially useful and elegant to program agent behaviors (or behavioral components), by increasing code readability and ease of writing. It is shown that the proposed approach, applied here to the Jade multi-agents platform, facilitates the implementation of interaction protocols in a modular way, one of the main difficulties in conversational agent engineering. ; Les continuations sont un concept de programmation bien établi permettant de capturer explicitement l'état du programme en cours. Elles sont présentes dans des langages de programmation fonctionnelle (par exemple Scheme), dans le modèle d'acteurs de Hewitt, et depuis peu dans des langages dynamiques (tels que Ruby, Smalltalk, Python, et même Javascript ou Java). Elles ont été historiquement appliquées à la programmation d'automates, aux threads coopératifs, à des techniques de compilation, et ont dernièrement suscité un regain d'intérêt pour la programmation d'applications Web. Cet article montre comment ce concept s'avère particulièrement utile et élégant pour programmer le comportement d'agents (ou leurs composants comportementaux), au point d'en révolutionner l'écriture et la lisibilité. L'approche proposée, appliquée ici à la plate-forme multi-agents Jade, facilite notamment l'implémentation modulaire de protocoles d'interactions, une des difficultés majeures de l'ingénierie d'agents conversationnels.
Document Type: article in journal/newspaper
Language: French
DOI: 10.3166/ria.21.729-756
Availability: https://hal.science/hal-01501510
https://doi.org/10.3166/ria.21.729-756
Accession Number: edsbas.3181E1F4
Database: BASE
Description
Abstract:National audience ; Continuations are a well established programming concept that allows capturing and resuming the current program state. They can be found in several functional programming languages (such as Scheme), in Hewitt actor model, and more recently in dynamic program-ming languages (such as Ruby, Smalltalk, Python, and even Javascript or Java). They have been historically applied to automaton programming, cooperative threads, compilation tech-niques, and have lastly raised interest for web application programming. This paper shows how this concept happens to be especially useful and elegant to program agent behaviors (or behavioral components), by increasing code readability and ease of writing. It is shown that the proposed approach, applied here to the Jade multi-agents platform, facilitates the implementation of interaction protocols in a modular way, one of the main difficulties in conversational agent engineering. ; Les continuations sont un concept de programmation bien établi permettant de capturer explicitement l'état du programme en cours. Elles sont présentes dans des langages de programmation fonctionnelle (par exemple Scheme), dans le modèle d'acteurs de Hewitt, et depuis peu dans des langages dynamiques (tels que Ruby, Smalltalk, Python, et même Javascript ou Java). Elles ont été historiquement appliquées à la programmation d'automates, aux threads coopératifs, à des techniques de compilation, et ont dernièrement suscité un regain d'intérêt pour la programmation d'applications Web. Cet article montre comment ce concept s'avère particulièrement utile et élégant pour programmer le comportement d'agents (ou leurs composants comportementaux), au point d'en révolutionner l'écriture et la lisibilité. L'approche proposée, appliquée ici à la plate-forme multi-agents Jade, facilite notamment l'implémentation modulaire de protocoles d'interactions, une des difficultés majeures de l'ingénierie d'agents conversationnels.
DOI:10.3166/ria.21.729-756