SAL is a collection of stuff that the author has found useful in his projects.
A large part of SAL provides a coherent set of generic abstract data types, intended to be yet another entry in the "Standard Ada Library" discussion. The goal in this part of SAL was to provide Ada packages that take full advantage of the flexibility and power of Ada generics, while at the same time making things relatively easy for the casual user. This was written well before the Ada 95 and 2005 Containers library, and is mostly superseded by that library.
Another large part of SAL provides math operations for kinematics and dynamics of masses in 3 dimensional space. Cartesian vectors, quaternions, orthonormal rotation matrices, moments of inertia, forces, acceleration, velocity are supported, in 3 and 6 degrees of freedom (translation and rotation). The author has used this library for both robotics and satellite simulation.
There are also extensions to the AUnit testing framework, a config files package, and other useful things.
- Stephen Leake