The data model used by RAD is known as the Abstract Data Representation (ADR). This data model defines a formal IDL for describing types and interfaces supplies a toolchain for operating on that IDL and provides libraries used by rad, its extension modules, and its clients.