Computer Science Technical Reports
CS at VT

Implementation of an Enhanced Distributed Object Model using Actors

Challa, Siva and Kafura, Dennis (1998) Implementation of an Enhanced Distributed Object Model using Actors. Technical Report ncstrl.vatech_cs//TR-98-08, Computer Science, Virginia Polytechnic Institute and State University.

Full text available as:
Postscript - Requires a viewer, such as GhostView (1344371)


Most common object models of distributed object systems have a limited set of object-oriented features, lacking the advanced features of 'polymorphism' (an abstraction mechanism that represents a quality or state of being able to assume different forms) and 'concurrency' (the ability to have more than one thread of execution in an object simultaneously). The lack of support for advanced features is a serious limitation because it restricts the development of new components and limits reuse of existing components that use these advanced features. In this paper, the Interoperable Common Object Model (ICOM) centered on statically typed object-oriented languages is presented. The ICOM model is an attempt to elevate common object models (with the advanced features of polymorphism and concurrency) closer to the object models of statically typed object-oriented languages. Specific features of the ICOM model include: remote inheritance, method overloading, parameterized types, and guard methods. This paper focuses on how the <EM>actor</EM> model and <EM>reflection</EM> techniques are used to develop a uniform implementation framework for the ICOM object model in C++ and Modula-3. Two key features of the ICOM objects are discussed, remote inheritance and atomicity, along with the distributed compilation architecture of the ICOM framework emphasizing the role of the actor model in creating a simple underlying framework is emphasized.

Item Type:Departmental Technical Report
Subjects:Computer Science > Historical Collection(Till Dec 2001)
ID Code:487
Deposited By:User autouser
Deposited On:05 December 2001
Alternative Locations: URL:, URL: