Home

actormodel

Actormodel (the actor model) is a mathematical model of concurrent computation that uses actors as the fundamental units of execution. An actor can perform three basic actions in response to a message: make local decisions, create new actors, and send a finite number of messages to known addresses. Communication in the actor model is asynchronous and occurs through immutable messages placed in a mailbox owned by the recipient actor. The model enforces encapsulation by avoiding shared mutable state, so concurrency is achieved by independent actors that interact only through message passing.

The actor model was introduced by Carl Hewitt in 1973 as a formal abstraction for concurrency in

Key concepts include actor identity, mailboxes, message envelopes, and dynamic creation. An actor processes messages one

Common implementations include Erlang/OTP, Akka (for Scala and Java), Microsoft Orleans, and languages such as Pony

Critics note potential performance overhead, difficulty reasoning about complex message flows, and the need for careful

distributed
systems.
It
was
later
formalized
by
Gul
Agha
and
colleagues
in
the
1980s,
who
provided
concrete
operational
semantics
and
proofs.
Since
then,
it
has
influenced
many
programming
languages
and
frameworks
that
emphasize
isolation
and
fault
tolerance.
at
a
time,
preserving
internal
state
between
messages,
and
may
change
its
behavior
for
future
messages.
Messages
can
be
delivered
out
of
order
or
be
delayed,
making
timing
nondeterminism
a
natural
aspect
of
the
model.
Some
systems
support
reliable
delivery,
supervision
trees,
and
failure
handling
patterns
inspired
by
the
actor
model.
and
CAF.
The
model
is
particularly
suited
to
scalable,
distributed,
and
fault-tolerant
applications,
because
components
can
fail
independently
and
recover
without
global
coordination.
design
to
avoid
livelocks
or
message
loss
in
non-reliable
networks.