EIFFEL: A case tool supporting object-oriented software construction
ACM SIGSOFT Software Engineering Notes
Encapsulation, delegation and inheritance in object-oriented languages
Software Engineering Journal - Object-oriented systems
Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
Inheritance of interface specifications (extended abstract)
IDL '94 Proceedings of the workshop on Interface definition languages
Object inheritance beyond subtyping
Acta Informatica
On the semantic diversity of delegation-based programming languages
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Understanding CORBA (Common Object Request Broker Architecture)
Understanding CORBA (Common Object Request Broker Architecture)
Java network programming
CORBA distributed objects: using Orbix
CORBA distributed objects: using Orbix
Communications of the ACM
Distributed smalltalk: inheritance and reactiveness in distributed systems
Distributed smalltalk: inheritance and reactiveness in distributed systems
Hi-index | 0.00 |
The use of class inheritance provides many benefits when developing information based systems. The use of class inheritance within a distributed object information system (DOIS) however, has failed to gain acceptance within the distributed community. One of the major reasons for this is the general acceptance of the widely held belief [19] that inheritance is said to unacceptably degrade the performance of a DOIS. This widely held belief arose from the analysis of Smalltalk and its use in a distributed system. We argue that newer object-oriented languages such as Eiffel and Java use more efficient mechanisms to implement object-oriented features including inheritance. Also, more efficient mechanisms exist for supporting distribution which have changed the distributed inheritance situation. The development of the network techniques such as RPC, CORBA and RMI provide improved support for DOIS. This paper presents an examination of the use of CORBA, RMI and RPC with regard to the performance overheads that arise from moving data from one machine to another. The analysis examines the additional effort that is required in order to support distributed class inheritance. Each aspect of distribution, such as marshalling, binding, network latency and inter-process communication was measured in order to establish the reasons for such degradation. Our results show that the poor performance which is associated with the use of class inheritance within a DOIS, is mainly a result of the inefficiency of the support provided by a language and the unacceptable degradation is not a direct consequence of distribution. Furthermore, our study shows that network techniques such as CORBA and RMI although providing a high level of abstraction, are generally not efficient when large amounts of data are being sent across the network.