Le modèle d`acteur est originaire de 1973. [1] il a été utilisé à la fois comme un cadre pour une compréhension théorique du calcul et comme base théorique pour plusieurs implémentations pratiques de systèmes simultanés. La relation du modèle à d`autres travaux est discutée dans le modèle d`acteur et le processus Calculi. De nombreux systèmes réussis sont modélisés avec des acteurs représentant des entités de haut niveau dans le système, puis en utilisant une approche plus fonctionnelle au sein de ces acteurs. Il n`y a rien de mal à cette approche. En outre, il est fréquent de voir un petit groupe d`acteurs enveloppé dans une interface telle que les clients de cette interface ne sont pas conscients qu`ils communiquent avec les acteurs. Encore une fois, c`est une bonne approche. Les deux créent des limites claires. Dans le premier cas, vous avez des acteurs seulement au niveau supérieur. Toute la mise en œuvre se fait à l`aide de la programmation fonctionnelle.
Dans le second cas, l`interface crée une limite entre ce qui est des acteurs et ce qui ne le sont pas. Par exemple, un service d`acteur avec neuf partitions déployées sur trois nœuds à l`aide du placement par défaut de partition d`acteur serait distribué thusly: nous pouvons également avoir un acteur qui modifie le calcul qu`il effectuera lorsqu`il recevra le message suivant. L`acteur représentant une personne dans ce système peut être en mesure d`exister dans différents États. Alors que cette personne est employée et disponible pour être sur un projet, ils peuvent exister dans un état actif. Cependant, certaines conditions peuvent conduire à ce que la personne se déplace à un état inactif (résiliation, congé prolongé, etc.). Dans un état actif, les demandes de projet peuvent être traitées normalement. Toutefois, si un message entre dans l`acteur qui le met dans un état inactif, le système peut commencer à rejeter les demandes de projet. Dans ce cas, l`acteur modifie le calcul qu`il effectue lorsque le message suivant intervient. Le modèle d`acteur est un outil puissant, et lorsqu`il est appliqué avec précaution, peut être efficace pour fournir des applications hautement évolutives et hautement simultanées.
Mais comme n`importe quel outil, il n`est pas parfait. Si vous l`appliquez incorrectement, le modèle d`acteur peut être tout aussi susceptible de créer un code complexe qui est difficile à suivre et encore plus difficile à déboguer.