Space Station Robot Embeds Ada
Despite rumors of its demise, Adas is at the heart of the International Space
Station’s in-orbit Canadarm 2 where it assures software safety and reliability.
hile safety-critical characteristics have been introduced
into the design of many programming languages, Ada
is the language specifically targeted at “life-critical”
systems. Developed between 1975 and 1984 by the US Department
of Defense (DoD), Ada has been classically targeted for use in
mission-critical embedded systems that emphasize safety, low cost,
and a near-perfect degree of reliability. The most important safety
features that make Ada ideal for development of fail-safe software
include its information-hiding capability, its ability to provide
re-useable code and its “strong typing”, which helps detect and
solve many types of coding errors at compile time, very early in
the development cycle.
Despite the perception by some that Ada is a dying language,
the fact is that Ada’s use is on the rise and it’s being adopted for
some of the most rigorous and critical embedded applications
under development today. Under contract to the Canadian Space
Agency (CSA), MacDonald Dettwiler (MDA) chose open-source
GNAT Ada 95 from Ada Core Technologies to develop control
software for the Mobile Servicing System (MSS), an essential com-
ponent of the International Space Station (ISS).
The MSS is a complex robotic manipulator system that
plays a key role in space station assembly and maintenance. It
helps move equipment and supplies around the station, supports
astronauts working in space, and services instruments and other
payloads attached to the space station (Figure 1).
Space-Based Robotic Arm
Ideal for a program like the MSS, Ada has clearly carved itself
a comfortable and sustainable niche in large, complex high-reli-
ability systems, including safety-critical systems where human
life might be at stake. This language, which has little visibility
compared with its cousins C and C++, continues be very effective
in developing systems that absolutely must be reliable. So it is no
surprise to find Ada in space—a harsh, unyielding environment
where the slightest malfunction can lead to death.
The ISS-based, next-generation Canadarm 2, the key element
of the MSS, is a bigger, better, smarter version of Canadarm, the
robotic arm that operates from the cargo bay of the Space Shuttle.
This arm is capable of handling large payloads and assisting with
docking the space shuttle to the space station. The new arm, built
specifically for the space station, is 17.6 meters (57.7 feet) long
when fully extended and has seven motorized joints, each of
which operates as a complex real-time embedded control system.
Canadarm 2 is “self-relocatable” and can move around the sta-