In 1995, a new standard for the programming language Ada was accepted. The new standard makes Ada 95 the first standardized object-oriented programming language. It provides support for exceptions, concurrency and distribution. The traditionally strong presence of Ada in the sector of reliable applications raises the question of increased support for fault tolerance.
Lightweight concurrency is supported through task types and protected types.
Distribution of a single program on multiple processing nodes is supported through the Distributed Systems Annex. Among these active entities, concurrency control and synchronization is reduced to single method, procedure or entry calls. These mechanisms do not scale well. Complex systems often need more elaborate features that can span multiple operations. This project concentrates on providing transaction support at the programming language level, integrating cooperative and competitive concurrency, and backward and forward error recovery.