Flight Software Dictionary

We’re frequently finding new terms, acronyms, initialisms and more that confuse people trying to figure out the flight software world. Hopefully, this is a resource that will help in some small way. Please let us know if we’ve missed something.

Flight Software Dictionary

All | # A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

T

TAI

Short for “International Atomic Time”. (The actual phrase for TAI is French so the letters don’t line up in English.) Technically, International Atomic Time started at midnight on January 01, 1958. However, for flight software, its primary appeal is that it does NOT track leap seconds. It’s simply the number of seconds and sub-seconds since some initial time, usually known as the Ground Epoch. You can calculate it by adding your Mission Elapsed Time to your Spacecraft Time Correction Factor (SCTF). The difference between TAI and UTC is that UTC tracks leap seconds. (UTC = TAI – “Number of Leap Seconds”).

In Core Flight Software, the System Time Structure in the TIME service can track time in TAI and UTC by default.


Task

From NASA’s documentation: A Task is a thread of execution in the operating system, often associated with a Core Flight Executive (cFE) Application. Each cFE Application has a Main task providing its CPU context, stack, and other OS resources. In addition, each cFE Application can create multiple Child Tasks which are closely associated with the Parent Task and cFE Application.

In a traditional Real Time Operating System (such as vxWorks or RTEMS), the cFE Application Main task and child tasks end up being mapped to these OS tasks in the same shared memory space. For example, a Stored Command cFE Application that consists of a cFE Main Task and 10 Relative Time Sequence Child Tasks would have 11 tasks on a vxWorks system. The only association between these tasks exists in the cFE.

In a memory-protected, process-oriented Operating System, the intention is to have a cFE Application implemented as a memory-protected process with its own virtual address space. In this Process Model, each cFE Child Task would be a thread in the parent Process, much like a Unix process with multiple threads. In this model, the Stored Command example with a cFE Main Task and 10 Relative Time Sequence Child Tasks would consist of a Unix Process and 10 pthreads, all under the same virtual address space.


TBD

Short for “To Be Determined”. It means there’s an intent to get information in place but it hasn’t happened yet.

TBL

Short for “Table”. In Core Flight Software, it can refer to “Table Services”, one of the five core services hosted by the Core Flight Executive layer. Tables are immensely valuable in flight software. You can organize parameters and their values, making it easy to look things up. You can store a series of commands and the times they should run. You don’t have to use them but they offer convenience for many common tasks.

The Table Service lets you create tables, update them, delete them, store them, verify them, and more.


TBR

Short for “To Be Reviewed”. It means the information is “probably” correct or at least close to the truth but people are still working to verify a final value. This is stronger and more reliable than “To Be Determined”.

TID

Short for “Task Identification”. Every Task is assigned its own ID. The Core Flight System gives you tools to track, query, and interact with tasks via this ID. See “Task” for more information.

TIME

When fully capitalized, it is shorthand for “TIME SERVICE”, one of the five core services hosted in the Core Flight Executive layer. See that entry for more information.

Time Service

The Time Service is one of the five core services hosted in the Core Flight Executive layer. Getting time right on spacecraft can be -exceptionally- difficult. This service gets you much closer to success with features that track time, help you synchronize the system, provide functions to query and manipulate time values, and can trigger tasks with distributed time-triggered wake-up packets.

However, there’s still work to do on your end because different hardware uses different methods and interfaces. This is where the Platform Support Package and/or the Board Support Package come in. You’ll update that software interface to talk with your hardware and then the higher level Time Service takes over from there.


TLM

Short for “Telemetry”. Telemetry is data your system generates and/or collects and sends to you. It could be temperature sensor readings, a report on how much storage space you have left, the time since the last error, or anything else you decide would give you insight into the health and performance of your system.

In Core Flight Software, Telemetry is managed by the Executive Service. It provides functions that help you create, log, and send telemetry. NASA also provides a “Telemetry Output (TO)” example App that extends functionality, especially for ground testing.