Actor Model of Computation (2010) [pdf]
arxiv.org
arxiv.org
For an overview of different actor models I prefer, see "43 years of actors: a taxonomy of actor models and their key properties" [1]. Agha's book [2] is also very good and I'd also like to recommend "Mixing Metaphors: Actors as Channels and Channels as Actors" [3].
[0]: http://lambda-the-ultimate.org/node/5208 [1]: http://soft.vub.ac.be/Publications/2016/vub-soft-tr-16-11.pd... [2]: https://dspace.mit.edu/handle/1721.1/6952 [3]: https://arxiv.org/abs/1611.06276
As a turing machine can compute anything that is computable it is therefore impossible for an Actor to do any computation that is not possible by a turing machine. This is computer science 101 and makes me wonder about the value of anything else said in the paper.
Of course it's sealed forever for a specific definition of 'compute,' but I'm still open to the idea that we find something which resembles computation enough that we call it the same thing, yet its precise definition is different enough from the one used in connection with contemporary theory of computation that old proofs of universality won't necessarily apply to it.
That said... it seems unlikely to me that the Actor model does something non-trivially beyond what Turing machines are capable of, since it would likely be better known, and we would see Chomsky's hierarchy expanded to hold another class, etc. (Unless it goes beyond Turing Machines by being non-linguistic in some way, which could certainly be interesting. Maybe dealing with non-sequential symbols or something?)
Message passing is fundamental for IoT, etc.
It is impossible for Actors implemented on a Turing machine to do anything that a Turing machine cannot. But the Actor model itself is larger than a Turing machine - eg nondeterminism.
Turing completeness is a lower bound on computation, not a maximum. For instance, a CPU with a hardware random number generator is a Turing machine, but a (basic/strict/pure) Turing machine cannot emulate a CPU with a hardware random number generator!
Another common misunderstanding is that an an Actor must have a mailbox, message queue, or event queue. There would be an infinite regress if any of these were required because since everything is an Actor, each of these would itself need a mailbox, message queue, or event queue!
[1] Carl Hewitt; Peter Bishop & Richard Steiger (1973). "A Universal Modular Actor Formalism for Artificial Intelligence". IJCAI.
Also, those who will be in London on November 9 can come to my Code Mesh Keynote. See https://plus.google.com/+CarlHewitt-StandardIoT/posts/BXSZ7Y...
It is fair to say that the implementation of Actors is still in its infancy. There is a startup in Silicon Valley that is attempting to remedy this situation. They are looking for expert programming language and run-time implementers ;-)
Older publications are obsolete and unfortunately many of them have errors (including my own!). I wrote the Wikipedia article on the Actor Model but am no longer allowed to update it :-(
Actors are very well defined up to a unique isomorphism by axioms.
The reason that Actors can perform computations that Turing Machines cannot is that the Turing Machine model left out message passing.
As someone who's been interested in the Actor Model recently, thanks for this statement, and the link to the book you've provided.
This would help avoid going down the wrong path.
Additional information that you might find helpful is here: https://plus.google.com/+CarlHewitt-StandardIoT
Some cautions: as with any factorization scheme, granularity is important. The actor model makes it easy to think within actors, and hard to reason about interactions. Don't overfactor!
Also, orienting around event streams means forgoing synchronous requests. This can lead to insane complexity where each actor awaits specific replies to act on remote state. When adopting a framework, never ignore the useful tools it leaves behind (like the way synchronous request interfaces imply a round trip handshake being handled by another layer).
Those of you near Denver can come to my BLAST 2018 lecture at 5PM on August 9 at the University of Denver with the following abstract: https://plus.google.com/+CarlHewitt-StandardIoT/posts/hh5CYE...
Sticking to the subject matter is the way to go.
IMODE: Which part of the Actor Model theory of computation do you not understand?
Of course, unbounded nondeterminism is a somewhat artificial example. However, the extra power of Actors over Turing Machines is critical for IoT and the implementation of Intelligent Systems.
No "hypercomputation" is required ;-)
The interesting bit is that you'll never have to do the wiring yourself, zproc does it all in the background.