Date of Award

Fall 1990

Document Type

Thesis - Restricted

Degree Name

Master of Science (MS)

Department

Computing

First Advisor

Riedel, Susan

Second Advisor

Davis, Wes

Third Advisor

Feng, Xin

Abstract

The popularity of object oriented programming (OOP) has increased dramatically over the past five years. As a result, a number of different OOP languages have become available, and programmers are faced with the problem of deciding which language is best for implementing their design. Often choosing a particular language is itself a compromise since no single language will offer developers all the constructs needed for an elegant solution. Many of the problems found in the development of diverse systems can be resolved by judicious application of multiple languages; each being matched to the aspects of the problem it best supports. This implies the need for objects created in the different languages to be able to interoperate. While interoperability between like languages is certainly possible, a mixed language approach poses many more problems. The difficulty in implementing support for interoperability, assuming significant common semantics, is dependent primarily on differences in their respective referencing environments. A big hurdle in this regard is to accommodate operation requests from a remote process using a strongly typed (i.e. statically bound) language. Yet, if a language is object oriented it must retain certain fundamental concepts. The degree of interoperability is dependent on the combined support of these concepts (i.e. common semantics) in their respective object models. Regardless of the level of sophistication, if a system is difficult to use it will not be successful. For systems of the type mentioned above, it is imperative that the added functionality be transparent to the user. Without transparency, ease of use would not be possible. The work presented in this thesis explores aspects of language interoperability between several object oriented languages: CLOS, Smalltalk, and C++. First a generic object model is presented. This is followed by a thorough examination of the characteristics of each of the object oriented languages. The respective object models are then analyzed to determine their common concepts and operations. The paper then concludes with a justification for interoperability followed by a proposal for its implementation.

Share

COinS

Restricted Access Item

Having trouble?