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).[1] 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.[2]


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.[3]

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.[4] 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.[5]

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)[6]
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.[5]: 6 [7]
ETOL -   ESA Test and Operation Language, European Space Agency.[8]
MSTOL -   Multi-Satellite Operations Control Center (MSOCC) Applications Executive (MAE) System Test and Operation Language, NASA Goddard Space Flight Center.[9]
PLEXIL -   Plan Execution Interchange Language, NASA Ames Research Center.[10]
PLUTO -   Procedure Language for Users in Test and Operations, European Cooperation for Space Standardization (ECSS).[11]
STOL -   Systems Test and Operation Language, NASA GSFC.[12]
Timeliner‑TLX -   Command language and executive used on the International Space Station, developed by Draper Lab and NASA-JSC.[13][14]
TSTOL -   Transportable Payload Operations Control Center (TPOCC) Systems Test and Operations Language, NASA GSFC.[15]

Commercial languages

Epoch 2000 STOL -   Epoch 2000 Systems Test and Operation Language, Kratos Defense & Security Solutions.[16]
SCL -   Spacecraft Command Language, Interface Control Systems, Inc.[17][18][19]
Auspice-TLX -   Commercial version of ISS Timeliner-TLX developed under license by Auspice Corp., possibly defunct.[14][20][21]

See also


  1. ^ Desjardins, R., et al. "GSFC Systems Test and Operation Language (STOL) Functional Requirements and Language Description", NASA, report number NASA-TM-79541 X-408-77-100, 1 February 1978.
  2. ^ Desjardins, R., et al., 1978, p. 1-1.
  3. ^ Desjardins, et al., 1978, p. iii, "STOL represents the synthesis of several independent language developments at GSFC, notably the Procedure Control Language (PCL) family, the Orbiting Solar Observatory/atmosphere Explorer (OSO/AE) language family and the Applications Technology Satellite/High Energy Astronomy Observatory (ATS/HEAO) language family."
  4. ^ Page, Brenda J. "An English language interface for constrained domains", conference paper; NASA, Goddard Space Flight Center, The 1989 Goddard Conference on Space Applications of Artificial Intelligencel 1 April 1989, p 21-34.
  5. ^ a b Operations and Information Systems Group. "OASIS-CC Presentation", The Fifth Calibration/Data Product Validation Panel Meeting, NASA Goddard Space Flight Center, 1 January 1992, PDF p. 10.
  6. ^ Spacecraft commands may be uplinked in text format, if the receiving spacecraft can translate them. Otherwise, the ground system translates the text format to a binary format before uplink. As noted above, in some systems spacecraft can accept command language statements as well, and perform their own translation. The translated commands are probably hexadecimal (the source document doesn't say). Note that in the first and last pairs of commands, different natural-language units are used in the command pairs on the left, that translate into identical binary fields in the commands on the right. "1800" may be an instrument-specific raw command parameter value.
  7. ^ Field, Thomas C., submitter, "Geoscience Laser Altimeter System Integration and Test Plan", NASA GSFC GLAS CMO, document GLAS-568-PLAN-001, 22 March 1999, acronym list p. 1, PDF p. 81. Retrieved 12 June 2019.
  8. ^ Melton, B. et al. "ESA's ETOL Software in International Markets", European Space Agency (ESA), ESA Bulletin no. 85, February 1996, archived at The Wayback Machine. Retrieved 12 June 2019.
  9. ^ Page, B., 1989.
  10. ^ Estlin, Tara; Jonsson, Ari; Pasareanu, Corina; Simmons, Reid; Tso, Kam; Verma, Vandi. "Plan Execution Interchange Language (PLEXIL)" (PDF). NASA Technical Reports Server. Retrieved 17 June 2019.
  11. ^ Seymour, Mark A. "The PLUTO operations procedure language and its use for RADARSAT-2 mission operations.", AIAA Space OPS 2004 Conference, 17 May 2004.
  12. ^ Desjardins, et al., 1978.
  13. ^ Brown, et al., "Timeliner: Automating Procedures on the ISS", Draper Lab, NASA-JSC, conference paper, World Space Conference, Houston, Texas, 09 October 2002.
  14. ^ a b Draper Laboratory, "Draper Lab Brings A New Age of Automation to the International Space Station", press release, 11 October 2002.
  15. ^ Measday, Alex. "TPOCC Systems Test and Operations Language (TSTOL), 1993, and Background, 2016", Alex Measday's blog, 1993 and 2016. Retrieved 12 June 2019.
  16. ^ Sepan, David M. and Lawrence, George B."", AIAA SPACE 2010 Conference & Exposition, Anaheim, Calif., 30 Aug 2010, AIAA-2010-8760. Retrieved on 12 June 2019 from author's publications folder, "Sepan_Lawrence.2010.pdf", p. 2.
  17. ^ Mims, Tikiela L., "Use of Spacecraft Command Language for Advanced Command and Control Applications", NASA KSC Technical Report number KSC-2008-288, 21 September 2008, p. 1.
  18. ^ Interface Control Systems (archived). "What is SCL", company web page, archived at The Wayback Machine, captured 10 March 2009. Retrieved on 17 June 2019.
  19. ^ Software Control Solutions. "Spacecraft Command Language (SCL)", company web page. Retrieved 17 June 2019.
  20. ^ "Cable Broadband Industry Leaders Address Auspice TLX Users Conference", news item, Business Wire, 31 March 2004.
  21. ^ Two Auspice corporate websites, "auspiceinc.com" and "auspicecorp.com, now redirect to "Arris Corp.", which acquired Auspice in 2008 and which might only retain Auspice as an item in a list of trademarks at the bottom of datasheets for their other products (searched arris.com in July 2019).