paradigm/actor-model
Each Actor is pontentially remote and it exchange messages using a queue.
In Elixir:
spawn function
for launching a process.send
for sending a message to a process- a process can invoke
receive
for receiving a message in its mailbox and process it link
if a process fail, then the failure is propagated to the linked “owner”- process can maintain a state
register pid
for making a private spawn process PID as public and anyone knowing the PID can send messages to the process- files are process, so file-system can be distributed
- this is the API for process https://hexdocs.pm/elixir/Process.html
- supervisors are used for managing errors in child process https://hexdocs.pm/elixir/Supervisor.html#content
A similar API, but more OOP-oriented, is in Akka
- https://doc.akka.io/docs/akka/current/stream/stream-error.html
- http://erlang.org/doc/man/supervisor.html
- [1]B. Cabral e P. Marques, «Implementing Retry - Featuring AOP», 2009, pagg. 73–80.
- [1]G. Lagorio e M. Servetto, «Strong exception-safety for checked and unchecked exceptions.», The Journal of Object Technology, vol. 10, pag. 1:1, 2011.