Actors

Version 1.1

(C) J. Ferber - 2005

Description

JActor est un environnement minimal pour décrire des calculs en utilisant le formalisme des acteurs. De plus, la technique d'implémentation de ces acteurs constituent une bonne introduction à MadKit.

JActor est un environnement d'aide à la compréhension de la programmation par acteurs. Il ne cherche pas à être réellement performant, mais sa simplicité a le mérite de montrer comment on peut programmer simplement des acteurs.

Télécharger l'archive de JActor

Documentation sur l'usage de JActor.


Les langages d'acteurs

Cette partie est issue de la section 5.2 de ma thèse d'état intitulée: Objets et Agents: une étude des structures de représentation et de communication en Intelligence Artificielle, Université Paris 6, Juin 1989. Quelques éléments ont été mis à jours. Ils font l'objet d'une marque spéciale.

Historique

Les langages d'acteurs ont une longue histroire derrière eux. Initialement créés par Hewitt dès 1973 {{ref}}, ils ont véritablement été rendus publics vers 1976 avec l'article initiateur "Viewing control structures as patterns of passing messages" [Hewitt 1976], qui développait une certaine conception des prorgammes conçus comme des sociétés de spécialistes qui résolvent un problème en communiquant par envois de messages. A cet effet, Hewitt montrait que son modèle d'exécution permettait de considérer les structures de contrôles des langages traditionnels comme des schémas (patterns) de communications entre entités autonomes appelées acteurs.

A partir de cette date, les travaux dans le domaine des acteurs ont suivi trois voies différentes:

  1. La première correspond à une lecture de premier degré de l'article de Hewitt, qui y présentait un langage de programmation Plasma, fondé sur le socncepts d'autonomie et d'envois de messages. Il s'agissait de comprendre et d'implémenter des interprètes efficaces de ce langage. Cest à cette tâche que s'est attelée une équipe de recherc de l'université de Paul Sabatier à Toulouse autour d'abord de J. L. Durieux [Durieux 81], puis de {{ref}}, et à Paris dans la mouvance de P. Greussay [Greussay 77][Cointe 81]. Plusieurs interprètes et de nombreuses machines virtuelles ont permis de disposer de programmes "grandeur nature". Cependant, disposant maintenant du recul nécessaire, on peut comprendre pourquoi cette approche ne pouvait finalement aboutir: à l'époque, Plasma était un langage séquentiel, alors que tous les concepts qu'il introduisait ne pouvaient prendre leur intérêt que dans un mode d'exécution parallèle. A partir de cette constatation deux routes s'ouvraient: