Introduction to Actors and Agents
Résumé
The terms "actor" and "agent" are used widely in the literature on
concurrent and distributed programming both because the underlying
concepts to which they refer are fundamental, powerful, and
interesting and also because these terms admit of varying
interpretations in different technical settings. Historically, the
terms "actor" and "agent" have a long association. In the definition
of an actor, Hewitt wrote that an actor "is a computational agent
which has a mail address and a behaviour." [Hewitt 1977]. Some
initial study about the relations between actors and agents may be
found in [Gasser and Briot 1992].
The ubiquity and malleability of these terms - the term "agent" in
particular - are simultaneously a help and a hindrance to those who
work in these areas and for us in organizing a series of papers on
current research involving actors and agents. It is clearly helpful
to avoid introducing new terminology for distinct, but closely
related, concepts. However, confusion is fostered when the term has so
many meanings that it is difficult to see the common thread which
relates them.
The intent of the special series of papers on current work with actors
and agents is not to resolve the varying meanings of the terms actor
and agent, but to illustrate the spectrum of possibilities, to
identify some essential similarities among these concepts, and to
indicate the relevance of actor and agent research to concurrency.