# Spacecraft command language

A spacecraft command language (or satellite control language, spacecraft control language, Systems Test and Operation Language (STOL), Satellite Test and Operation Language, etc.) is a computer command language for commanding spacecraft mission systems. Ultimately such languages are used to command remote spacecraft with telecommands, but they are also used for development and verification of onboard systems (prototype, engineering model, and flight hardware and software), and of ground systems, prior to launch.
Spacecraft command languages are typically written in a format similar to human languages. This is in contrast to telecommand protocols, which are usually binary formats (although they may be displayed in hexadecimal, or broken out into labelled fields by command displays). Some spacecraft command languages, such as SCL or PLEXIL, can be executed on the spacecraft with an onboard executive.
The NASA GSFC Systems Test and Operation Language (STOL) Functional Requirements and Language Description (1978). illustrates the concept:
   The Systems Test and Operation Language (STOL) provides the means for user communication with payloads, applications programs, and other ground system elements. It is a systems operation language that enables an operator or user to communicate a command to a computer system. The system interprets each high level language directive from the user and performs the indicated action, such as executing a program, printing out a snapshot, or sending a payload command.
   By using STOL, payload test and operations personnel may be relieved of repetitive tasks while ensuring that recurring, fixed sequences of operations are always performed in exactly the same order, and guaranteeing repeatability of test procedures or Project Operations Control Center (POCC) operations.

## History

The original language to which the acronym STOL was applied, GSFC Systems Test and Operation Language, was designed in the 1970s at NASA Goddard Space Flight Center to provide a standardized language for functionality that had been previously represented in at least three other satellite operation language efforts at GSFC.
Various STOLs were created at other locations with mission-specific or site-specific names, and proliferated to the extent that a Jargon Interpreter program was prototyped at one GSFC, to convert English statements to a limited set of MSTOL directives, with plans for other STOL dialects. Other languages were later developed and offered by private companies as part of satellite control software suites.

## Command Translation Examples

The following examples show natural language CSTOL commands and the lower-level spacecraft commands they are translated into, for a particular spacecraft.
The first two examples show two different CSTOL commands that are translated into the same spacecraft command, indicating that this spacecraft command takes different values as an argument.
In the last example, the CSTOL command is translated to another CSTOL command, which would then be translated into a spacecraft command in still-human-readable textual format. The command can be uplinked as-is if the spacecraft has the ability to read the text format. Otherwise, the command is translated to a packed binary representation on the ground, prior to uplink.
| CSTOL command | Spacecraft command (text format, probably hex) |
| slew grating to 1800 | CC229F08 |
| slew grating to 1216.0 a | CC229F08 |
| set observation list to 5 | CC220605 |
| set entrance slit to stellar | CC220780 |
| move extender to 10.0 mm | 3FCC280C83 |
| move extender to 1.0 cm | 3FCC280C83 |
| CSTOL command | Intermediate CSTOL command |
| close gripper | move gripper to 6.0 cm |

## Spacecraft command languages
### Open source and government-sourced languages

| • | CSTOL | - | (University of) Colorado System Test and Operations Language, University of Colorado.$^{:6}$ |
| • | ETOL | - | ESA Test and Operation Language, European Space Agency. |
| • | MSTOL | - | Multi-Satellite Operations Control Center (MSOCC) Applications Executive (MAE) System Test and Operation Language, NASA Goddard Space Flight Center. |
| • | PLEXIL | - | Plan Execution Interchange Language, NASA Ames Research Center. |
| • | PLUTO | - | Procedure Language for Users in Test and Operations, European Cooperation for Space Standardization (ECSS). |
| • | STOL | - | Systems Test and Operation Language, NASA GSFC. |
| • | Timeliner‑TLX | - | Command language and executive used on the International Space Station, developed by Draper Lab and NASA-JSC. |
| • | TSTOL | - | Transportable Payload Operations Control Center (TPOCC) Systems Test and Operations Language, NASA GSFC. |

### Commercial languages

| • | Epoch 2000 STOL | - | Epoch 2000 Systems Test and Operation Language, Kratos Defense & Security Solutions. |
| • | SCL | - | Spacecraft Command Language, Interface Control Systems, Inc. |
| • | Auspice-TLX | - | Commercial version of ISS Timeliner-TLX developed under license by Auspice Corp., possibly defunct. |