Integrating object orientation with concurrency is difficult. Although there are experimental languages that do this successfully, the situation is different when one wants to extend such languages as Ada, which have a huge amount of legacy code and needs for upward compatibility. Ada 83 was a concurrent language without object-oriented features. Ada 95 successfully introduced object orientation for the sequential part of the language. Many researchers and practitioners now realize the need to introduce features for concurrent object-oriented programming in future versions of Ada.
The paper puts forward the concept of extensible protected types, which combine the Ada 95 concepts of tagged and protected types. As opposed to protected objects, extensible protected types allow adding new data fields; subprograms and entries; overriding subprograms and entries; and call dispatching. The authors discuss all the required syntactic and semantic modifications and implications in detail.
The aims of this paper are unique, because the authors deal with the only standard object-oriented real-time distributed programming language. The concept presented in the paper is a sound candidate for introduction into new versions of Ada.
It was a pleasure to read this paper. The authors deliver their results convincingly, considering a number of possible solutions for every problem they discuss and giving the grounds for their choices.