QUESTION: How does the Galileo spacecraft's software work? What language was the software written in? ANSWER from FAQ: Before we start to discuss software, we need to know a little about the hardware, since there can be up to 18 microcomputers running on Galileo at any given time. First off, although all eleven science instruments use microprocessors, only eight of the instruments are actually reprogrammable in flight. Each of the eleven science instruments contains an RCA COSMAC 1802 microprocessor which is used to control the instrument and to communicate with the CDS. Eight of the instruments are reprogrammable in flight because at least part of the programs can be run out of Random Access Memory (RAM). The other three run entirely out of Read Only Memory (ROM), which cannot be changed in flight. Only two of the major engineering subsystems--the Attitude and Articulation Control Subsystem (AACS) and Command and Data Subsystem (CDS)--are programmable in flight. These two use very different computer architectures. Each of the AACS's attitude functions requires a tremendous amount of mathematical computation, all of which is the job of the AACS software. Just like the word processor or spreadsheet on a home computer system gets revised into newer, sometimes better versions, the AACS software has evolved from what was originally launched with the spacecraft in 1989--except that the AACS improvements really are better! The software will continue to evolve for the remainder of the mission. The Command and Data Subsystem (CDS) and its software perform a number of functions for the spacecraft. For example: 1. CDS receives and processes commands sent from Earth. These commands can be in the form of real-time (i.e. do this NOW!) commands, or they can be stored sequences which are long series of instructions to tell the spacecraft what to do for an extended period of time (as long as several weeks). 2. The CDS also collects information from all of the science instruments and engineering subsystems and packages it into the data that is actually sent to the Earth. The collection process and CDS operations methods will change after Galileo arrives at Jupiter. 3. The CDS performs a number of other functions for the spacecraft such as storing data on a tape recorder for later playback to Earth, and broadcast of the timing coordination signal to all spacecraft subsystems (basically, a way for all the subsystems to synchronize their "watches"). 4. CDS also performs the major "fault protection" functions for the spacecraft. If a piece of hardware on the spacecraft fails, the CDS is programmed to a) figure out what is wrong (fault detection), and then b) isolate the problem so an operational spacecraft can be recovered (i.e. the rest of the spacecraft can continue to operate). Fault protection is needed because at Jupiter radio signals take about an hour just to reach Earth, so ground controllers cannot respond in real time to fix urgent problems on the spacecraft; the spacecraft must take care of itself.