Integrating object-oriented programming and protected objects in Ada 95

Integrating concurrent and object-oriented programming has been an active research topic since the late 1980s. The majority of approaches have taken a sequential object-oriented language and made it concurrent. A few approaches have taken a concurrent language and made it object-oriented. The most important of this latter class is the Ada 95 language which is an extension to the object-based concurrent programming language Ada 83. Arguably, Ada 95 does not fully integrate its models of concurrency and object-oriented programming. This paper discusses ways in which protected objects can be made more extensible.