Beyond Abstract Data Types: Giving Life to Objects

The most recent buzzword in software engineering is object-orientation (OO), a trend encouraged (if not inspired) by the Ada programming language. We have all witnessed OO principles gain undisputed popularity in the computing society. Also, we have all experienced the challenges of the move from the platonic world of objects, where all objects are implicitly given their own flow of control, their own state, resources and behavior, to the real world of computing where none of these luxuries can be taken for granted. The main topic of this article is the search for an Ada design that can provide the illusion of the ideal world of objects at an acceptable price.