Author(s): M. Almulla, M. Al-Haddad and H. Loeper
Article publication date: 2001-12-01
Vol. 19 No. 3 (yearly), pp. 137-149.
DOI:
157

Keywords

Preprocessor language, Ada 95, concurrency, object-oriented programming

Abstract

In this paper, implementation issues of concurrent object-oriented programming using Ada 95 are addressed. Ada is not a pure object-oriented language; in order to make it so, a uniform template for structuring object classes is proposed. The template constitutes a basis for an Ada-based preprocessor language that handles concurrent object-oriented programming. The preprocessor accepts Ada-like object-oriented programs (object classes, subclasses, and main program) as input and produces Ada 95 concurrent object-oriented program units as output. The preprocessor language has the advantage of adding a new component to the class specification called the protocol, which specifies the order for requesting methods of an object. The preprocessor also touches on the extensibility of object classes issue. It supports defining class hierarchies by inheritance and aggregation. In addition, the preprocessor language supports the re-use of Ada packages, which are not necessarily written according to the object-oriented approach. The paper also investigates the definition of circular dependant object classes and proposes a solution for introducing a collection of classes.