"Actors as a Model of Mobile Computing"
Questions and Answers


 Paul Mackay
pjm2@doc.ic.ac.uk
 
Pradeep Loganathan
pl5@doc.ic.ac.uk
 
Information Systems Engineering (ISE II)
Department of Computing
Imperial College of Science, Technology and Medicine
 


1. What is an actor?

A. Part of a collective group which all share common behaviour.
B. A concurrent object able to send messages and define new behaviours.
C. A famous star of screen or stage.
D. A passive object, similar in nature to a function call.
Answer



2. Why is a concurrent model important in distributed systems?

A. So that many processes may operate simultaneously at different locations within the network.
B. To prevent too great a load on a single processor.
C. It allows several processes to access the same resource simultaneously.
D. A distributed system cannot function without concurrent behaviour.
Answer



3. How is mobile computing considered a distributed system?

A. It is a collection of mobile computers connected for a common goal.
B. Each mobile computer is able to run by itself.
C. Mobile computers are far away from each other.
D. The mobile computers communicate with each other and the static computers on the network.
Answer



4. Why should distributed systems operate asynchronously?

A. The sender of a communication need not be blocked waiting for a reply.
B. Synchronous communication produces too great a performance degradation.
C. It is not possible to send a synchronous communication over a distributed network.
D. Asynchronous communication is easy to implement over long distances.
Answer



5. How do mobile networks differ from static networks?

A. Data transmission rates are higher in a mobile network.
B. The protocols used within the network vary.
C. The whole network may be moved from place to place.
D. The location of nodes or users within the network is constantly changing.
Answer



6. Why does a mobile network need to be dynamic?

A. It must adapt in response to changes in the signal quality and availability.
B. The information about users of the network must be updated regularly.
C. The network must respond to changes in the weather.
D. Dynamic implies movement and mobility.
Answer



7. Why is message passing used in the actor model?

A. Because message passing was the only technique known at the time.
B. The message passing model allows for asynchronous communication, which is important for the actor model.
C. Message passing guarantees message delivery and fairness.
D. Message passing is the only communication method which allows concurrency.
Answer



8. Why has there never been a full implementation of the actor model?

A. It proved impossible to implement the theoretical model.
B. When actors were initially proposed the software advancements weren’t enough to support the model efficiently.
C. There has never been sufficient funding available.
D. The hardware was never developed to require the full actor implementation.
Answer



9. What actions could an actor perform?

A. Send communications to other actors.
B. Define a new behaviour for itself, which may be the same or different to its previous behaviour.
C. It can inherit the properties of another actor.
D. Create a finite set of new actors.
Answer



10. How do actors lend themselves to mobile computing?

A. Their dynamic nature captures the needs of mobile computing.
B. Their concurrency is important for the implementation of distributed wireless networks.
C. Actor models do not induce as much network traffic as most other programming models.
D. Actors effectively hide the architecture dependant details.
Answer



11. What actions must an actor perform upon receiving a communication?

A. The receiving actor must specify its new behaviour.
B. It must send communications to others.
C. Create new actors.
D. 'Acknowledge’ the sender with a reply.
Answer



12. How does an actor system show dynamic behaviour?

A. Actors can create more actors and hence dynamically change the topology of the system.
B. They can change the behaviour of other actors.
C. They can migrate between different processing units.
D. An actor can change the value of its own mail address.
Answer










You have scored:






Answers
 
 
 
1. B. A - wrong. Actors are independent objects which can only be accessed by sending a message, and may all be unique. B - Actors all operate concurrently, and they must define a new behaviour each time they receive a message. C is true but not in this context. D is wrong as all actors are dynamic and active.

2. A. Concurrency is important because it provides a great performance increase when communication is slow. B is true for any multiprocessor system, not just distributed systems. C is wrong because a single resource cannot be accessed by many processors even if they can operate simultaneously. D is wrong as a distributed system could operate without concurrency, but the performance degradation would make it useless.

3. A, D. Any distributed system is defined as more than one computer connected for a common purpose. B is wrong because a mobile laptop able to run without any contact elsewhere would not be part of a distributed system. C is not relevant because distributed systems can occur within a room, and the computers need not be on the other side of the world to be considered distributed. D is true, as the essence of a such a system is that all machines on the network are able to communicate and share information.

4. A, B. A is true because with asynchronous communication the sender can continue its process after sending its message, rather than waiting for a reply. For this reason, B is true also, as if the process had to wait for a reply, the processing ability of the network as a whole would be greatly reduced. Many processes would be constantly waiting for replies. C is wrong as it is possible to use synchronous communication but it is never used for performance reasons. The distances are too great to send a global clock signal. D is wrong as the implementation of any communication primitive protocols will not change depending on distance.

5. D. A is wrong. The opposite is true. Transmission rates are slower over a mobile network, due to high latency times and low bandwidth. B is not valid because the protocols may vary within a static network as well. C is wrong because the hardware infrastructure is not moved about, only some of the nodes in the network.

6. A, B. A is true as the type of signal used and its quality changes the network must adapt to give the best performance. B is true as the number of users on the network can adjust with time. C is wrong as the weather will have little effect on the network. D is wrong as the network is not dynamic in the sense that it moves around. It is the computers on the network which move.

7. B. A is false because there were other techniques at the time.  B is true because  message passing is used as a base to implement all asynchronous communication, and the actor model relies on this asynchronous property to achieve efficient communication. C is false, message passing on its own cannot guarantee message delivery nor fairness! D is wrong, concurrency may be improved with the use of message passing but it does not depend on it. 
 
8. B. A is wrong, the theoretical model is very practical although it has not yet been completely implemented. B is correct, the software advancements at the time were not enough for a practical implementation. C is wrong, funding was not a problem at the time. D is incorrect, the hardware was fairly advanced even then although it may have not been a feasible implementation.
 
9. A,B,D. A is correct because that’s how actors communicate! B is true, when an actor receives communication it may change its behaviour depending on its definition. C is wrong because actors cannot ‘inherit’ properties of other actors. D is true, actors may create a finite set of new actors.
 
10. A,B. A is true because actors exhibit dynamic behaviour, e.g.  actors could effectively migrate between several processing units. B is correct, a distributed system would be unfeasible if it did not exhibit concurrency, since actors are concurrent ‘objects’ an actor implementation would be well suited for distributed networks. C is incorrect since this is not necessarily true for most cases, actors do tend to communicate more than other implementations. D is wrong, the actor model, by itself, does not hide architecture dependant details. Programming using actors may enable us to have a logical view of the problem, and thereby hiding some of the architecture dependant details. 
 
11. A. A is true because an actor must specify its new behaviour whenever communications are received. B and C are false as these are optional. D is incorrect because by default actors act asynchronously! 
 
12. A,B,C. B is correct because an actor may send another actor a communication which may cause the receiving actor to behave differently. C is true, actors may be dynamically placed in different processing units so that the load is balanced throughout the system, providing good performance. D is false, the mail address is unique to an actor, being able to change its own mail address will not bring about any obvious advantages and will only make the system more complicated.