Ada Programming/Libraries/Container/AI302


Ada. Time-tested, safe and secure.

Ada 83 and Ada 95 did not provide what is now called Containers, a kind of library units holding collections of objects. There existed as a substitute many public and also proprietary libraries with different levels of (often not well documented) security features; many of these still exist today, e.g the Booch Components. Since Ada aims mainly at the security of what is prescribed in her standard, the absence of such a library was felt a dire miss. There is a set of Ada 95 AIs dealing with different ways to solve this problem:

From AI95-302-03 arose the current Container library A.18: Containers (Annotated) on the basis of the C++ STL. Matthew Heaney did most of the work and gained the ACM SIGAda Award in 2005, see https://www.sigada.org/exec/awards/2005_SIGAda_Awards.pdf. See also Charles.

Since there are many runtime checks included (e.g. so-called tampering checks), the library may not be applicable in some projects; these then have to provide their own versions.