Call/Return vs. Remote Procedure Calls in Concurrent
Object-Oriented Program

Abstract

Since they represent distribution as well as encapsulation, objects can interact via message passing only. One of the main principles of the object-oriented programming paradigm is that messages represent communication as well as computation. Although the application of Remote Procedure Calls would be a natural choice in moving from sequential towards parallel execution of object-oriented programs, from different reasons discussed in the paper, one-way messages either synchronous or asynchronous are applied at the language level in most of the object-based concurrent programming concepts.

Instead of the higher level notion of the Remote Procedure Call, method invocations and conveying return values have to be explicitly composed from a pair of one-way messages.

The author argues that it is as dangerous as building critical sections explicitly from semaphores. It is also claimed that the adaptation of Remote Procedure Calls results in a more structured program and is less prone to error, therefore, it better suits for the higher level notion of object-oriented paradigm.


Back to my home page