Presentation is loading. Please wait.

Presentation is loading. Please wait.

ACTORS. Motivation Develop language for concurrency “ Parallel Execution of actions ”.

Similar presentations


Presentation on theme: "ACTORS. Motivation Develop language for concurrency “ Parallel Execution of actions ”."— Presentation transcript:

1 ACTORS

2 Motivation Develop language for concurrency “ Parallel Execution of actions ”.

3 Brief History A number of individuals have contributed to the development of the actor model. Actor model was first described by Carl Hewitt (70 ’ s) – The model was object-oriented: every object was a computationally active entity capable of receiving and reacting to messages. The Objects were called Actors. Gul Agha, later develop the actor model and develop a mathematical theory of actors.

4 What are actors ? Actors are independent concurrent objects that interact by sending asynchronous messages; each actor has its mail address and a behavior. An actor can do the following: Send communication to other actors. Create new actors. Define a new behavior for itself, which may be the same or different to its previous behavior.

5 Behavior change Higher level than state change (assignment) The current behavior of an actor will specify its replacement behavior – How it will perform the next incoming message A behavior accepts only one message A causally connected chain of behaviors isomorphic to the queue of messages

6

7 Mail System Two important facts about mail system in the actor system: Mail arrives in random, non deterministic order (asynchronous). Ensures concurrent execution. The mail delivery is guaranteed. The system guarantees to execute all tasks eventually.

8 Communication Mechanisms Communication is asynchronous, without any guaranteed arrival order. – Message order: if actor A sends a sequence of communications to actor B, then B may not receive them in the same order that A sent them. – It is possible for A to tag each message with a sequence number, so that B may rearrange messages into the correct order.

9 Extending the Actalk framework towards ACTORS ActorBehavior subclass: #AghaActorBehavior setProcess [self acceptNextMessage] fork replace: replacementBehavior aself initializeBehavior: replacementBehavior

10 Example AghaActorBehavior subclass: #AghaCounter instanceVariables: ‘contents’ consultAndReplyTo: replyDestination self replace: (self class contents: contents). replyDestination reply: contents incr self replace: (self class contents: contents + 1) reset self replace: (self class contents: 0)

11 References Agha, Gul, Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986, 144 p. Open Systems Laboratory – http://osl.cs.uiuc.edu/


Download ppt "ACTORS. Motivation Develop language for concurrency “ Parallel Execution of actions ”."

Similar presentations


Ads by Google