Assertion Definition Language (ADL) is a high-level language that provides a formal grammar for the expression of programmatic assertions. It can be used to automatically generate tests based on API specifications and to produce natural language representations of these assertions for documentation. The language has C/C++, IDL and Java dialects each of which are designed to reflect the syntax of those languages to help developers to better describe native APIs. The Assertion Definition Language system of translators, document and code generators are freely available as a single package. Users may do anything with the system, as long as they continue to give credit to the ADL project.