Actor Model of Computation: Scalable Robust Information Systemsis analysed in terms of questions and answers. Being able to answer these questions is a first step toward understanding the subject.
The objective is to analyse the publication of Carl Hewitt: Actor Model of Computation: Scalable Robust Information Systems
in terms of questions and answers. Being able to answer these questions is a first step toward understanding the subject.
What is the Actor Model central hypothesis?
All physically possible computation can be directly implemented using Actors.
What sets the Actor Model fundamentaly apart from previous models?
Unlike previous models of computation, the Actor Model was inspired by physical laws.
What is an Actor?
An Actor is a physical device with the following properties:
- It has an address.
- It can perform computations.
- It can send messages to addresses of Actors it knows about.
- It can designate how to handle the next message it receives.
- It can create new Actors.
- It can concurrently perform the above operations.
What does concurrently
means in the above context?
It means that the actor has the ability to perform multiple actions at the same time, or in overlapping periods, without waiting for one action to complete before starting another.
An Actor can only communicate with another Actor to which it has ….
An Actor can only communicate with another Actor to which it has an address. Addresses can be implemented in a variety of ways:
- direct physical attachment
- memory or disk addresses
- network addresses
- email addresses
The Actor Model is characterized by …
The Actor Model is characterized by inherent concurrency of computation within and among Actors, dynamic creation of Actors, inclusion of Actor addresses in messages, and interaction only through direct asynchronous message passing with no restriction on message reception order.
What is the foundation of system communication?
Message passing using types.
- Messages are the unit of communication.
- The type of a
message
must be a subtype ofMessage
.
- The type of a
- Types enable secure communication with any Actor.
What is the activation order
relating two events?
The activation order (⇝) is a fundamental order that models one event activating another (there is energy flow from an event to an event which it activates). The activation order is discrete:
∀[e1,e2 ∈ Events]→ Finite[{e ∈ Events | e1⇝e⇝e2}]
There are two kinds of events involved in the activation order: reception and transmission. Reception events can activate transmission events and transmission events can activate reception events.
What is a serialized Actor?
An Actor is serialized if it processes messages one at a time in a specific order, rather than concurrently.
What is the reception order
of a serialized Actor?
The reception order of a serialized Actor
What is the combined order
?
The combined order (denoted by ↷) is defined to be the transitive closure of the activation order and the reception orders of all Actors.
Is the combined order discrete?
No. The resolution of the problem is to take discreteness of the combined order as an axiom of the Actor model:
∀[e1,e2 ∈ Events]→ Finite[{e ∈ Events | e1↷e↷e2}]
The Actor Model is based on …
The Actor Model is based on one-way asynchronous communication. Once a message has been sent, it is the responsibility of the receiver.
Messages in the Actor Model are decoupled from the sender and are delivered by the system on a best efforts basis.
What is indeterminacy?
The Actor Model supports indeterminacy because the reception order of messages can affect future behavior.
What is Quasi commutativity?
Operations are said to be quasi-commutative to the extent that it doesn’t matter in which order they occur. To the extent possible, quasi-commutativity is used to reduce indeterminacy.
Give an example of quasi-commutativity.
Locality and security mean that …
Locality and security mean that in processing a message: an Actor can send messages only to addresses for which it has information by the following means:
- that it receives in the message
- that it already had before it received the message
- that it creates while processing the message.
The security of Actors can be protected in the following ways:
- hardwiring in which Actors are physically connected
- every-word-tagged memory.
- virtual machines as in Java virtual machine, Common Language Runtime, etc.
- signing and/or encryption of Actors and their addresses
What is type specialization?
Type specialization: If type t1 is a subtype of type t2, then instances of t1 have all of the properties that are provable from the definition of type t2
What is type extension?
Type extension: A type can be extended to have additional (perhaps incompatible) properties from the type that it extends. An extension type can make use of the implementation of the type that it extends. Type extension is commonly used to extend operating system software as well as applications.
What is the principle of Actor induction?
x : Actor
andp(x)
is true.p(x)
is true when it receives a message.p(x)
is true when it receives the next message.- then:
p(x)
is always true.
In practice integrated information is ….
In practice integrated information is invariably inconsistent. An information system must provide means for processing information and carefully recording its provenance including arguments (including arguments about arguments) for and against propositions.
What is meant by Information Integration
?
It means that given an information system, these principles will be observed:
- Persistence. Information is collected and indexed.
- Concurrency: Work proceeds interactively and concurrently, overlapping in time.
- Quasi-commutativity: Information can be used regardless of whether it initiates new work or become relevant to ongoing work.
- Sponsorship: Sponsors provide resources for computation, i.e., processing, storage, and communications.
- Pluralism: Information is heterogeneous, overlapping and often inconsistent. There is no central arbiter of truth.
- Provenance: The provenance of information is carefully tracked and recorded.
What is the Actor Model intended to provide?
The Actor Model is intended to provide a foundation for inconsistency robust information integration.
An inference system is inconsistent
if: …
An inference system is inconsistent when it is possible to derive both a proposition and its negation.
A contradiction is manifest when …
A contradiction is manifest when both a proposition and its negation are asserted even if by different parties, e.g., New York Times said “Snowden is a whistleblower.”, but NSA said “Snowden is not a whistleblower.”
What is Inconsistency robustness
?
Inconsistency robustness is information system performance in the face of continual pervasive inconsistencies
Robustness is based on the following principle:
Runtime failures are always a possibility in Actor systems and are dealt with by runtime infrastructures. Message acknowledgement, reception, and responsei cannot be guaranteed although best efforts are made. Consequences are cleaned up on a best-effort basis.
Robustness is based on the following principle: If an Actor is sent a request, then the continuation will be one of the following two mutually exclusive possibilities:
- to respond with the response received from the Actor sent the request
- to throw a Messaging exception