Modèle d'acteur
|
|
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
|
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].
Sommaire |
Caractéristiques [modifier]
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, et elles peuvent être parallélisés.
L’avancée fondamentale du modèle d’acteur et 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ées à 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 connus de l’acteur parent. Les adresses peuvent être échangés 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 [modifier]
(en) Carl Hewitt, Peter Bishop et Richard Steiger, « A universal modular ACTOR formalism for artificial intelligence », IJCAI, 1973 [résumé, texte intégral]
Notes et références [modifier]
Notes [modifier]
- On peut citer le π-calcul qui s’inspire du modèle d’Hewitt.
- Erlang est le plus connu.
- Comme le Cloud Computing, ou les acteurs sont les cœurs de calcul.
- Comme la programmation orientée objet considère que tout est objet.