The Development of Hal/SThe Hal language was developed for NASA in the 1970s by Intermetrics (now AverStar) as a high-level language for software for the space shuttle and future projects."The initial version of Hal was a Fortran preprocessor. That is, it was written in Fortran and generated Fortran source code. In 1972, as the shuttle project advanced, the preprocessor approach was dropped and the language was renamed Hal/S (S for shuttle). Anticipating that Hal/S could be applied to any number of flight projects using a variety of flight computers, the new approach was to write compilers in a language customized for compiler writing, XPL, and to use an intermediate language, Halmat."
| ![]() |
"Although XPL facilitated the writing of Hal/S code generators for new target machines,
it hindered rehosting Hal/S compilers. Because it was available for a very few machines,
XPL had to be retargeted first." ...
"Using the IBM 360/370 as a host computer, Intermetrics and others undertook development of compilers for 11 target computers.3 Some implemented the full language, others inplemented subsets; not all have been completed satisfactorily. Applications include the Global Positioning System, the European Space Agency's Spacelab, and many others." |
"The weakness of Hal/S is that it is readily available only when hosted on the IBM 360/370 series of mainframe computers. Intermetrics has also hosted Hal/S on the Modcomp IV and Classic, and on Data General Eclipse minicomputers. But the Modcomp implementation is used only by JPL, and the Eclipse development is no longer in use because address-space limitations reduce compile speed to around 30 lines/minute. Langley Research Center has hosted Hal/s on the Cyber in Pascal." ...
"References: |
Selected Hal/S development experiences. (adapted from Klumpp) | |||||
---|---|---|---|---|---|
Developer | Host Computer | Target Computer | Use | completion | Compiler lang. |
Intermetrics | IBM 360/370 | IBM 360/370 | General purpose | 1975 | XPL |
Intermetrics | IBM 360/370 | IBM AP-101 | Shuttle GPS | 1975 | XPL |
Intermetrics | IBM 360/370 | APPL TEC ATAC-16M | JPL Galileo | 1982 | XPL |
Intermetrics | IBM 360/370 | RCA 1802 | inactive | NA | XPL |
Intermetrics | IBM 360/370 | Modcomp II, IV, and Classic | JPL Deep Space Network and Optical Nav. | 1981 | XPL |
Intermetrics | Modcomp IV and CL | Modcomp II, IV, and Classic | JPL Deep Space Network and Optical Nav. | 1981 | XPL |
Intermetrics | Data General Eclipse | Data General Eclipse | inactive | NA | XPL |
NASA has some additional information on Hal/S at http://www.hq.nasa.gov/office/pao/History/computers/Appendix-II.html
Klumpp, Allan R. "Space Station Flight Software: Hal/S or Ada?" Computer March 1985: 20-28. | |
Shuttle logo courtesy NASA. |