Download presentation
Presentation is loading. Please wait.
Published byJulianna Morgan Modified over 8 years ago
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
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/
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.