Adding data abstraction to Fortran software

Abstract
The Fortran Abstract Data (FAD) system was designed to facilitate the structured reuse of Fortran-callable software. FAD uses data abstraction to implement information hiding. It lets the implementer of a data type explicitly control how instances of that type are used, while itself utilizing Fortran's separate compilation and the vast collection of available Fortran libraries. The principle and methods of information hiding are discussed. The use of FAD, which is designed for situations where the user of an abstract data type is distinct from the implementer of the abstract data type, is described. Some related work is examined.