The STROBE model

Presentation

The STROBE (STReam, OBject, Environment) model is an agent representation and communication model firstly proposed in the 90's by Pr. Stefano A. Cerri. The STROBE model's evolution provide now a concrete means to realise interactive, autonomous and intelligent agents.

The STROBE model is conceived and developped to be a toolkit for Dynamic Service Generation. The model evolved regularly to embody new elicited characteristics of DSG.

Agents as interpreters

The STROBE model is highly influenced by applicative/functionnal languages features and map the classic context of evaluation of expression [Interpreter Environment Expression] for interpretation of communication messages.

Cognitive Environments

Partner models are realised by Cognitive Environments (with Cognitive Interpreters included). STROBE agents interpret each conversation messages in a specific persistent environment. Considering a Language as Environment + Interpreter then STROBE agents develop a different languages for each of their partners.

Communication by streams

STROBE agents’ inputs and outputs flow of messages are represented by streams.

STROBE influences

The STROBE agent architecture

STROBE agent are able to change dynamically, by communicating, the Cognitive Environments (and the included Cognitive Interpreter). This structure is said to be cognitive because and agent can learn a the Data, Control and Interpreter level (meta-level).

STROBE agent mental states is a set of modules that realise special aspects of an agent.

Tested experimentations

Meta-level learning by communicating: A teacher - student dialogue for the learning of a new performative

Dynamic specification of a problem: A client - service provider dialogue to construct an train ticket reservation by means of constraints specification

Current implementations

The STROBE model is specified and partially implemented in Scheme.

Another implementation as a class of agent of the MadKit platform was done: strobekit.zip

The first version fo STROBE implementation () is still available (MIT Scheme mandatory), readme.txt.

References

  • Clement Jonquet, Stefano A. Cerri, The STROBE model: Dynamic Service Generation on the Grid, Applied Artificial Intelligence Journal Special issue on Learning Grid Services, Vol. 19 (9-10), p.967-1013, November 2005. [journal's web site] [pdf - 657 Ko]
  • Clement Jonquet, Stefano A. Cerri, I-Dialogue: Modelling Agent Conversation by Streams and Lazy Evaluation, International Lisp Conference, ILC'05, Stanford University, CA, USA, June 2005. [conference's web site ] [pdf - 216 Ko]
  • Stefano A. Cerri. Shifting the focus from control to communication: the STReams OBjects Environments model of communicating agents, Padget J.A. (ed), Collaboration between Human and Artificial Societies, Coordination and Agent-Based Distributed Computing, Lecture Note in Artificial Intelligence, vol. 1624, pages 74-101, Springer-Verlag, Berlin Heidelberg New York, 1999. [Fichier PDF - 155 Ko]
  • Stefano A. Cerri. Human an artificial agents conversations on the grid, 1st LeGE-WG International Workshop on Educational Models for Grid Based Services, Electronic Workshops in Computing (eWiC), Lausanne, Switzerland, Septembre 2002. [Site web du workshop] [Fichier PDF - 157 Ko]
  • Stefano A. Cerri, Jean Sallantin, Emmanuel Castro, et Daniele Maraschi. Steps towards C+C: A language for interactions, .S. A. Cerri et D. Dochev (eds), Artificial Intelligence: Methodology, Systems, and Applications, AIMSA'00, Lecture Notes in Artificial Intelligence, vol. 1904, pages 34-48. Springer-Verlag, Berlin Heidelberg New York, 2000. [Fichier PDF - 135 Ko]

Archives - Travail réalisé et le modèle STROBE (sorry still in French)

Lors de mon stage de DEA (Mémoire de DEA [Fichier PDF - 1536 Ko]) , un travail à été mené sur le langage Scheme, En particulier, nous avons montré comment il peut être enrichi à run-time aux niveaux classiques des langages de programmation (niveau donnée et niveau contrôle), mais également au niveau interpréteur (ou méta-niveau), soit le niveau correspondant à la machine d’exécution du langage (interprétation, ou compilation/exécution). Plus précisément, nous avons montré sur une expérimentation mettant en scène deux "agents" comment l’un d’entre eux pouvait modifier dynamiquement l’interpréteur du langage de communication qu’ils utilisaient. Ce que nous avons appelé apprentissage au méta-niveau par la communication.

Le début de mon travail de recherche a consisté à intégrer les techniques misent en œuvre lors de mon stage de DEA à un modèle agent préexistant : le modèle STROBE (STReams, OBject, Environment). Celui-ci est donc devenu un modèle de représentation et de communication agent centré autour d’un concept clé : l’environnement cognitif. Les environnements cognitifs dans le modèle STROBE jouent le rôle de contexte d’évaluation des messages d’une conversation. Ils servent de modèle du partenaire qu’un agent se construit pour chacun de ses interlocuteurs et représentent le langage (environnement + interpréteur) dédié à cet interlocuteur. Ces langages peuvent être enrichis dynamiquement (c'est-à-dire pendant la conversation) aux trois niveaux cités plus haut.

En second lieu, le modèle à été utilisé dans un scénario de type e-commerce pour montrer comment il facilite la spécification dynamique de problème, c'est-à-dire la réalisation et l’exécution d’un service à la même étape. Cette spécification dynamique étant le sujet d’une conversation entre deux agents et faisant intervenir un agent humain. Cette expérimentation symbolise une première étape dans le processus de génération dynamique de service.

                                                         Clement Jonquet's homepage - January 2008