Building Modern Distributed Systems

Ada 95 has been the first standardized language to include distribution in the core language itself. However, the set of features required by the Distributed Systems Annex of the Reference Manual is very limited and does not take in account advanced needs such as fault tolerance, code migration or persistent distributed storage. This article describes how we have extended the basic model without abandonning the compatibility in Glade, our implementation of the Distributed Systems Annex. Extensions include restart on failure, easy code migration, hot code upgrade, restricted run time for use on embedded systems with limited processing as well as distributed storage capabilities and persistent storage handling.