Modèle d'acteur
# 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.

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

## Caractéristiques

Le modèle considère que tout est acteur. 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.

