Accueil🇫🇷Chercher

Modèle d'acteur

En informatique, le modèle d'acteur est un modèle mathématique qui considère des acteurs comme les seules fonctions primitives nécessaires pour la programmation concurrente. Les acteurs communiquent par échange de messages. En réponse à un message, un acteur peut effectuer un traitement local, créer d'autres acteurs, ou envoyer d'autres messages. L'article de référence date de 1973[1].

Ce modèle est utilisé aussi bien en informatique théorique pour formaliser les interactions concurrentes[note 1], qu’en pratique comme base de réalisation de langages de programmation[note 2] ou d’architectures concurrentes[note 3].

Caractéristiques

Le modèle considère que tout est acteur[note 4]. Un acteur est une entitĂ© capable de calculer, qui, en rĂ©ponse Ă  un message reçu, peut parallèlement :

  • envoyer un nombre fini de messages Ă  d’autres acteurs ;
  • crĂ©er un nombre fini de nouveaux acteurs ;
  • spĂ©cifier le comportement Ă  avoir lors de la prochaine rĂ©ception de messages.

L’exécution des tâches ci-dessus n’est pas ordonnée, elles peuvent être parallélisées.

L’avancée fondamentale du modèle d’acteur est qu’il découple l’émetteur du message du message lui-même, permettant donc l’asynchronisme des communications et l’introduction de structures de contrôle dédiées à l’échange de messages.

Les destinataires des messages sont identifiés à l’aide d’adresses. Un acteur doit connaître l’adresse de l’acteur à qui il veut envoyer un message. Les adresses des acteurs créés sont connues de l’acteur parent. Les adresses peuvent être échangées par message.

Du fait de l’asynchronisme des communications, de la création dynamique d’acteurs et de l’échange des adresses des acteurs, le modèle est intrinsèquement asynchrone.

Bibliographie

(en) Carl Hewitt, Peter Bishop et Richard Steiger, « A universal modular ACTOR formalism for artificial intelligence », IJCAI,‎ (résumé, lire en ligne)

Notes et références

Notes

  1. On peut citer le π-calcul qui s’inspire du modèle d’Hewitt.
  2. Erlang est le plus connu.
  3. Comme le Cloud Computing, où les acteurs sont les cœurs de calcul.
  4. Comme la programmation orientée objet considère que tout est objet.

Références

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.