The Language for A complex World

Application Standard Components Library (ASCL)

$Date: 2002/07/08 12:58:30 $ $Author: merdmann $


Working Principles

How to Contribute

Documentation Process

Work Plan


Technical Specification


Accessing the source code

HTML Documentation of version 0.1.4

Related Activies and Working Groups


The project is an invitation to all Ada 95 developers to release already developed Ada 95 software to the public through integrating these components into the ASCL project.

The objective of the ASCL project is:

The license of the library will be the commonly used GPL with the exception:

"... As a special exception, if other files instantiate generics from this unit, or you link this unit with other files to produce an executable, this unit does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.."

The project activities are hosted at

There are a lot of comparable activities going on in the Ada community.

Working Principles

The library will be organized in so called domains which are coordinated by a so called domain champions (the name may change in the future). Currently the following domains have been identified:

Since the idea of this project is to establish a code base in a relatively short time, the following working principles shall be applied:

Under all circumstances, as a general working principle, the bazaar style will be applied which means "..release early and often ..." (Eric Steven Raymond)

How to contribute

Since the project is in the process of being established no formal procedures have been setup to contribute. In the moment the best is to send a mail to one of the domain champions or Michael Erdmann in order to coordinate the required activities.

The contributed code has to meet some entry criteria which are currently not well defined. At least the following minimal criteria seem to be reasonable:

In order to become an active developer in the team you need to register as an user with

Documentation Process

The documentation of the ASCL library is intended to be code centric, which means there is only a minimum of documentation which is not part of the source code. This allows by means of the adadoc utility the extraction of the user manual relevant information and conversion into docbook format.

The user manual of the ASCL project is made using docbook and the output of adadoc will be included automatically.

In order to create reasonably structured documentation the following overall rules have to be taken into account:

In case of the general description section the following formatting rules will be applied by the documentation generator:

The description of procedures and functions may be structured in the same way. But in order to enforce a useful description scheme, the usage of the following keywords is enforced:

If one of these keywords appears in a comment followed by a ':' character, the adadoc facility will place a headline in the description which is not visible in the TOC.

The adadoc utility is a Ada 95 program which translates Ada 95 package specifications into docbook units.

Work Plan

The following steps will be done in several iterations till the end of the year 2002:

Step 1 - Collect basic components which available in the community.

Step 2 - Integrate them into a common package hierarchy.

Step 3 - Finish the documentation

Step 4 - Publish

Since the intention is to collect already available components at the begining some effort has to be spent to integrate these components into a single package hierarchy.

The release time schedule is shown below:

Version Contents Planed Date

Build environment for Linux, Solaris and Windows.

Software Components:

  • Datastructure components
  • Networking bindings
  • Keyed File IO
  • Shared Memory Interface
  • Message Queues

End of May

The platforms will be Linux, Solaris and Window and GNAT 3.14p/3.15p.

The release will conrain a test suite based upon aunit for most of the released components.

End of December


Currently the project is under construction.

Any how the CVS is already available with the base line environment at the sourceforge project page

The current environment requires Unix/Linux. A Windows based development environment is not available yet.

The next important step is to include documentation tools, which are translating documentation which is part of the interface specification into a docbook document. The usage of adadoc is under consideration.

Technical Specification

The ASCL library consists of the following major domains:

The data structure domain is based upon the PragmAda components (PragmARC) developed by Jeffrey R. Carter, he is the champion for the data structure domain. These components will form the backbone of ASCL regarding data structures.

The networking domain is managed by Aidan Skinner. Some of the former LIBRA components have been added to the ASCL library. This domain is focused on providing bindings or complete implementation of the commonly used protocols.

The file management domain is handled by Michael Erdmann. This domain focuses on providing interfaces to different file formats and structures.

The operating system domain contains components which are providing high level services based on the standard operating concepts as for example shared memory and message qeues.

Supported target platforms are currently Unix and Windows.


The table below does summarize the contact points of the ASCL project.

Topic Description Responsible
Home Page M. Erdmann
Technical Discussion
This list is used for all sorts of technical discussion related to ASCL
In order to subscribe visit:

M. Erdmann
Networking Aidan Skinner <>
Data Structures Jeffery R. Carter <>
Files Michael Erdmann <>
Operating System Michael Erdmann <>

Related Activities

This section contains to my best knowlege a list of related activies in the Ada 95 community. I guess there a probly a lot more.

Project Name Short Description
Charles Containers and Hash Tables etc Matthey Heaney
ASCL Ada Standard Component Workinggroup
LGL Software Engeneering Laboratory
AdaPlugin Ada Plugin Michael Erdmann

In order to keep in touch with standarization issues check the following links:

Accessing the Source Code

The source code is available through the project page either by downloading a released source package or accessing the CVS directly which gives you access to the latest development snapshot.

This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key.

cvs login

cvs -z3 co ascl

Updates from within the module's directory do not need the -d parameter.

2002 mail Michael Erdmann - $Revision: 1.9 $ / $Date: 2002/07/08 12:58:30 $