Note: Ada 95 software is, of course, also available on several permanent Ada repositories which are available via http and ftp.
Ada for Windows
Jerry van Dijk has made available general information about using Ada for Win95/NT. He provides a collection packages for programming with Ada for Windows. On his web pages he addresses the Ada issues in programming for Windows on which he has recieved frequent queries.
Included in Jerry van Dijk's collection of packages for programming with Ada on Windows is AdaGraph, a complete package for basic (educational) graphics on the Win95/NT platform. It does not require a Win32 binding or Windows programming knowledge.
Ada 95 Data Structures from University of Scranton
A collection of data structures written in Ada 95 is available. The zip file expands into a single file following the pager2 format. It contains various examples of stacks, queues, lists, binary trees, and n-ary trees. It includes some examples of data structures that may contain tagged types, and examples of structures made visible as controlled types. They all compile and run under gnat
The expanded file can be "gnatchop"ped once the two descriptive files are removed from the beginning of the paged file and the sets of data are removed from the end of the file.
Features of interest:
- A family of list packages all derived from a single package with each packages providing different client-package visibility.
- The list and tree packages make use of three Ada95 features (aliased, access all, and 'Class) to produce a recursive representation of the structures.
- The queue and stack packages have child units containing features that override the fundamental structures.
There are several test programs and data sets included.
This suite of software is currently being used in two courses and have not been thoroughly tested. A more complete set will be released once the semester is over.
For more information or problems, contact Jack Beidler at the University of Scranton. Thanks to Jack and his crew for making this valuable resource available to everyone!
Ustrings package to simplify Unbounded_String
David A. Wheeler created a small package to make using "Unbounded_String" types just a little bit easier. It includes a "Get_Line" function as well as some other functionality.
Free VME/Sparc micro-kernel written in Ada 95
Announcing the first VME micro-kernel under Gnu copyright: MiThOS.
MiThOS is a real-time micro-kernel threads operating system based on a prototype implementation of Pthreads POSIX 1003.4a, Draft 6. It is based on the POSIX Minimal Minimal Realtime System Profile (PSE 51 of POSIX 1003.13 Draft 7) and supports multiple threads within a single process, basic device I/O but no file system.
This library was developed to support the Gnu Ada Runtime Library (GNARL) as part of the Gnu Ada Translator (GNAT). It runs on a VME SPARC board (SPARCEngine 1E or Force 3CE) and replaces the SunOS operating system. MiThOS is non-compliant in the sence that the bulk of the POSIX 1003.1 base standard and POSIX 1003.4 Real-Time Extensions to which Pthreads and PSE51 are an extension will not be available. MiThOS and the Pthreads library provide some of the capability of these other standards.
- is an implementation of the POSIX Minimal Realtime System Profile (PSE 51 of POSIX 1003.13 Draft 7)
- is a micro-kernel real-time threads operating system (<64Kb)
- has been used with the GNAT (Gnu Ada Translator) as an embedded test bed for tasking
Hardware support: MiThOS runs on SPARC VME boards (replacing SunOS), tested are
- SPARCEngine 1E
- Force 3CE
- includes all sources and
- provides a test bed for real-time experiments and applications that require very predictable timing and full control over the hardware
- a single-process embedded environment
- multi-threading (POSIX threads)
- serial I/O
- high-resolution timers
- preemptive priority scheduling
- deadline scheduling support
- but no disk I/O
MiThOS is availabile via the WWW and via FTP.
Ada 95 Booch Components
Simon Wright has taken over the free Ada 95 Booch Components from Dave Weller. Thanks to Dave for all his past work and to Simon for taking on this task.