ADL 2.0

What's new?

What is ADL?

ADL, or the Assertion Definition Language, is a formal notation for describing the behavior of interfaces. This very general concept can be applied to any interface for which the behavior can be described. The purpose of this notation is two-fold. First, it permits the translation of the formal description into natural languages such as English and Japanese. Second, it permits the automatic translation of the formal description into tests that will evaluate the behavior of an implementation of the interface being described.

If you are interested in this technology, you should take a look at the ADL Home Page and some technical details. For any information/question, you can contact the ADL 2 development manager Shane McCarron.


Since 1991 X/Open Company Ltd. and the SunTest division of Sun Microsystems Laboratories have been working closely with MITI's Information-technology Promotion Agency on a project to conduct research in the area of Automated Test Technology. This research has resulted in the development of a set of tools freely available, under an X Window System-like copyright and grant of rights.

This research project has been a great success. So much that the results are already being deployed in a variety of projects even as the basic research continues to be enhanced.

The Open Group Research Institute was in charge of the development of the second version of the ADL technology (ADL 2), which provides specifications and tests description languages for Java(tm), IDL, C++ and C.


This project resulted from a contract between MITI's IPA and the Mitsubishi Research Institute (MRI). The latter subscontracted part of the development to The Open Group and Kanrikogaku Kenkyusyo Ltd (K3 - Japanese pages). The responsibilities of the different partners are detailed hereafter:

The Open Group
Development of the core technology.

Development of extensions for subsystem testing.
Integration testing.

Development of the GUI.
Development of test object libraries.

Technical Details

ADL 1 was developed in C++. For ADL 2, it was decided to use Sun's Java language to ensure maximum portability of the translation system across open systems as well as Microsoft Windows 95/NT. For technical reasons, ADL 2 is based on version 1.1 of the Java Development Kit.

Grammars are described and parsed using Sun's Java Compiler Compiler (JavaCC).

Generated tests are driven by The Open Group's Test Environment Toolkit (TET).


One of the task of the project had to do with the generation of SGML documentation from the test specifications. Moreover, the documentation is based on the ever growing DocBook DTD. While using SGML makes it easier to generate structured documentation, it requires a consistent environment to be able to convert the SGML documentation into something viewable or printable. The required environment was installed on a Linux machine for the sake of the project and the following paper describes how.

This article on ADL2 was presented at the ICSE'98 conference in Kyoto in April 1998. It describes the main features of ADL2.

Public Distribution

The original contract required that ADL 1 be publicly available to ensure a wide distribution and use of the technology. It was also the case for the ADL 2 contract, hence the following distribution.

Be sure you agree with the terms of the COPYRIGHT and LICENSE NOTICE before you download anything.

System Requirements

ADL 2 builds and runs on any system that provides a POSIX-compliant environment. Most of ADL 2 is written in Java, with a few programs in C, and runtime libraries in C++ and C for testing applications written in these languages.

It has been successfully built and executed on RedHat Linux 4.x and 5.x, Solaris 2.5 and 2.6, and Windows NT 4.0.

All requirements are listed in the file RELEASE_NOTES in the software distribution.


The ADL 2 distribution comes in two different flavors:

If you also need to use the Natural Language features and don't have a compliant Prolog interpreter (see RELEASE_NOTES for a description of the requirements for the Prolog interpreter), you can also download the Prolog interpreter bundled with ADL 2 (1,001,534 bytes). This is version 2.9.6 of the SWI-Prolog.

Support for ADL 2

Details of the support procedure are given in the file support/README in the software distribution.

Note that, while it is our goal to address every ADL 2 problem reported, The Open Group makes no committment to fix reported problems unless you are a paying ADL 2 support subscriber.

[an error occurred while processing this directive]