The Expressions Module is a software module that has been incorporated into the Satellite Orbit Analysis Program (SOAP). The module includes an expressions-parser submodule built on top of an analytical system, enabling the user to define logical and numerical variables and constants. The variables can capture output from SOAP orbital-prediction and geometric-engine computations. The module can combine variables and constants with built-in logical operators (such as Boolean AND, OR, and NOT), relational operators (such as >, <, or =), and mathematical operators (such as addition, subtraction, multiplication, division, modulus, exponentiation, differentiation, and integration). Parentheses can be used to specify precedence of operations.

The module contains a library of mathematical functions and operations, including logarithms, trigonometric functions, Bessel functions, minimum/ maximum operations, and floating-point-to-integer conversions. The module supports combinations of time, distance, and angular units and has a dimensional-analysis component that checks for correct usage of units. A parser based on the Flex language and the Bison program looks for and indicates errors in syntax. SOAP expressions can be built using other expressions as arguments, thus enabling the user to build analytical trees. A graphical user interface facilitates use.

This program was developed by Robert Carnright, David Stodden, Jim Paget, and John Coggi of Caltech for NASA’s Jet Propulsion Laboratory.

The release of this software is controlled by the Air Force at Space and Missiles Center (SMC) in Los Angeles, California. The point of contact at SMC is 1Lt Matthew Nelson ( e-mail address: This email address is being protected from spambots. You need JavaScript enabled to view it. ). The use of this software is restricted to U.S.Government programs.

NPO-45052


NASA Tech Briefs Magazine

This article first appeared in the October, 2008 issue of NASA Tech Briefs Magazine.

Read more articles from this issue here.

Read more articles from the archives here.