Professional Documents
Culture Documents
The James Webb Space Telescope (JWST) will use an event-driven system architecture
to provide efficient and flexible operations with a simplified, high-level ground command
interface. In this paper we describe the use of an on-board COTS JavaScript engine, hosted
within the flight software, to provide the event-driven operations for JWST. This on-board
autonomy and high-level ground to flight interface will greatly simplify the JWST ground
software systems and operations. We will also discuss our development approach for the on-
board operational scripts that is based upon the process successfully used at Space Telescope
Science Institute to implement the stored command sequences for the last six Hubble Space
Telescope science instruments. Our iterative script implementation process addresses how to
Downloaded by 95.208.248.19 on January 2, 2022 | http://arc.aiaa.org | DOI: 10.2514/6.2006-5747
gather operational requirements from a geographically dispersed team, and then how to
design, build, and test the script software to accommodate the changes that are inevitable as
flight hardware is built and tested. The involvement of operations staff with the flight
hardware and flight software providers from the beginning of the development phase
enables operational factors to be considered as the Observatory subsystems are being
designed and built. The concurrent development of the operational scripts and the flight
software also enables early and frequent “test-as-you-will-fly” verification, thus reducing the
risk of on-orbit operational difficulties
Nomenclature
JWST = James Webb Space Telescope
COTS = Commercial off-the-shelf
IR = Infrared
I. Introduction
G UIDED by the recommendations of the Astronomy and Astrophysics in the New Millennium Study1, the James
Webb Space Telescope (JWST) will be a large 6-meter infrared space observatory capable of detecting light
from the first stars, tracing galaxy evolution from formation to the present day, and observing distant planetary
systems. The design and operation concepts that have resulted to support these primary science themes will also
enable international scientists to investigate a wide range of fundamental astrophysical questions using the infrared
(0.7 to 27 micrometers) image and spectral data from the JWST science instrument suite. Contributions from
American, European, and Canadian organizations will provide the science instrument hardware and flight software.
To provide the necessary cold environment for observing with the required sensitivity at infrared wavelengths,
JWST will be placed in an orbit around the second Sun-Earth Lagrange Point, L2, approximately 1.5 million
kilometers from Earth. The observatory’s location and the expectation that most science programs will not have tight
astronomically driven time requirements provide for relatively constraint-free operations.
To take advantage of the opportunity offered by the JWST environment to increase science efficiency and to
decrease the ground system development cost, an event-driven operations concept was considered early in the
mission definition phase and then integrated into mission level requirements and design. The event-driven
operations concept prescribes the use of real-time command execution status to determine when to execute the next
command in a sequence. The JWST ground system does not calculate or assign absolute command execution times,
thereby eliminating observatory subsystem history keeping and the application of conservative timing estimates.
*
JWST commanding group lead, Engineering and Software Services, STScI, 3700 San Martin Drive Baltimore MD
21218, non-AIAA member
†
Lead systems engineer, JWST Mission Office, STScI, 3700 San Martin Drive Baltimore MD 21218, non-AIAA
member
1
American Institute of Aeronautics and Astronautics
}
Science Programs Science and
Yearly Weekly Observation Plan Segment File
Calibration Programs Operations
Submission Center Upload Visit Files
Engineering Programs
2
American Institute of Aeronautics and Astronautics
III. Observation Plan Processing
Upon upload, the Observation Plan segment file and the associated visit files are stored within a dedicated
operations file store within the JWST payload computer. A set of on-board scripts, known as the Observation Plan
Executive, processes these uploaded files. A COTS script interpreter imbedded inside the payload flight software
provides for the script execution. These Observation Plan Executive scripts are located within the same dedicated
file store as the uploaded files. The Observation Plan segment file can be appended to a currently executing on-
board Observation Plan (see fig. 2), or if the Observation Plan Executive is idle (as would be the case upon recovery
from a vehicle safing event), the file can become the new on-board Observation Plan. The supported management
actions that can be applied to the on-board plan are purposely kept simple: append to the end, delete off the end, start
processing, stop processing after visit x, and stop processing immediately.
The Observation Plan Executive reads the textual on-board Observation Plan to determine the next visit file to
execute. The visit files are executed one at a time in the order they appear in the plan. There are three time
parameters associated with each visit files: earliest start time, latest start time, and latest end time. When the visit
file’s associated start time window constraints are met, the Observation Plan Executive reads the textual visit file. If
the current time is later than the visit file’s start window, then the visit file is skipped (and removed from the plan).
If the current time is prior to the visit file’s start window, the Observation Plan Executive will wait. It is the
Downloaded by 95.208.248.19 on January 2, 2022 | http://arc.aiaa.org | DOI: 10.2514/6.2006-5747
responsibility of the ground system planning procedure to minimize the wait time after an unsuccessful visit by
judiciously ordering the visit files so that their time windows overlap. After a visit file is processed, it will be
removed from the on-board plan and deleted whether it was successfully completed or was aborted due to a detected
error. The Observation Plan Executive then examines the next visit file’s time window. There are no capabilities to
re-enter or re-use a visit file once it has been opened.
Figure 2. Observation Plan Segment File contents are appended to the executing on-board Observation Plan
Each visit file contains a structured list of activity statements with their associated parameter/value list. A
structured list is used, as opposed to just a sequential list, to support parallel operations. It is possible to calibrate one
science instrument while another is collecting science data or to calibrate a science instrument during a vehicle
maneuver. As each activity statement is encountered, the Observation Plan Executive activates the appropriate on-
board script, known as an Activity Description script, to accomplish the requested activity passing along the
parameter/value list specified in the visit file. If a parallel activity is specified, the Observation Plan Executive will
simultaneously activate another Activity Description script to handle the particular execution of the parallel.
A typical science visit file will consist of the following activities: a vehicle maneuver activity, a guide star
acquisition activity, a target acquisition activity, and a series of science activities with different filter and/or grating
selections taken at slightly different vehicle offsets. The Observation Plan Executive manages the flow of the
activity execution. There is a communication path from the Activity Description scripts to the Observation Plan
Executive scripts for relaying the execution success or failure. If the guide star or target acquisition is unsuccessful,
then the rest of the visit file activities are skipped and processing of the current visit file is aborted because the
JWST attitude will not be as required to obtain useful science data. If the science instrument utilized by the activity
has a hardware problem, then the activity is skipped because successful data collection cannot be achieved. A
successful visit execution is shown below in fig. 3, whereas fig. 4 illustrates an aborted visit execution. To record the
visit file processing results, the Observation Plan Executive will create time-stamped event message telemetry. The
Activity Description scripts and the science computer flight software also create time-stamped event message
telemetry to record processing status and to send notification of specific failure ile conditions. Upon receipt by the
ground system, the event message telemetry packets will be combined into a time-ordered log so that the operation
3
American Institute of Aeronautics and Astronautics
history can be examined to learn when each planned activity took place and whether any visit file failures occurred
while out of contact.
activate
Activity Statement for Vehicle maneuver Vehicle Maneuver
With specific pointing parameters On-board Script
success
activate
Activity Statement for Guide Star Acquisition Guide Star Acq
With specific guide star parameters On-board Script
success
Figure 3. Observation Plan Executive successfully processes a typical science visit file, as each activity
statement is encounter, the specified Activity Description script is activated. The Observation Plan Executive
waits for completion status before processing the next activity statement.
activate
Activity Statement for Vehicle maneuver Vehicle Maneuver
With specific pointing parameters On-board Script
success
activate
Activity Statement for Guide Star Acquisition Guide Star Acq
With specific guide star parameters On-board Script
failure
Activity Statement for near-IR imaging exposure EXIT Error event message
telemetry
With specific exposure parameters
and vehicle offset values
Figure 4. Observation Plan Executive aborts a science visit file. The Observation Plan Executive receives
status from the Activity Description script that the requested guide star acquisition attempt was unsuccessful,
and aborts processing of the current visit file.
4
American Institute of Aeronautics and Astronautics
IV. Activity Description Processing
As described above, the Observation Plan Executive scripts control the operations flow and provide for efficient
operations through their ability to skip activities when failures occur or when constraints are not met. The
Observation Plan Executive scripts activate another class of scripts, known as the Activity Description scripts, to
control the sequence of flight software commands that are needed for proper activity execution. These scripts
encode the operational rules of the science instruments and the spacecraft. They generate flight software commands,
and monitor telemetry items. Event-driven operations is provided at this level through the ability to make command
decisions based upon observatory telemetry. Every flight software command request is made based upon the
execution status of the previous command. A command will not execute unless a success telemetry response is
received for the previous command. If an error is encountered, the Activity Description script will construct a timed-
stamped event message telemetry packet, and either exit by sending a status message back to the Observation Plan
Executive or perform a retry of the previous command if the operational rules dictate.
The Activity Description scripts process the parameters passed by the Observation Plan Executive scripts and
Downloaded by 95.208.248.19 on January 2, 2022 | http://arc.aiaa.org | DOI: 10.2514/6.2006-5747
generate the appropriate series of commands and telemetry requests to execute the specified observatory function,
such as a guide star acquisition, or a near-infrared image or a mid-infrared lamp calibration. To create a modular
implementation and to facilitate script maintenance, each high-level Activity Description script will invoke other
“lower-level” scripts. In this way the generic low-level scripts can be used for all science instrument operations thus
eliminating code replication.
5
American Institute of Aeronautics and Astronautics
The calling script waits for this unique command response telemetry, and generates the next command upon receipt
of a success status, or upon failure notification executes an error response. An error will cause the creation of time-
stamped event message telemetry by both the flight software and by the on-board scripts. The flight software
message will indicate the specific hardware/software problem encountered, and the on-board script message will
give the associated operations response. The on-board event-driven communication flow is illustrated in fig. 5. The
above scenario also holds true of spacecraft functions such vehicle maneuvers and vehicle offsets. An on-board
script requests the Script Processor to forward a command to the spacecraft computer and waits for the execution
status telemetry to be relayed back through the Script Processor.
Observation Plan
Executive Script
activates
status
status
command telemetry
commands
Near-IR Near-IR
Flight Software Hardware
telemetry
Figure 5. On-board event-driven communications. Upon reading the visit file, the Observation Plan Executive
script activates the near-IR imaging JavaScript in a separate thread of execution that in turn, through the use
of lower-level JavaScripts, commands the near-IR flight software. One or more commands are sent to the
appropriate hardware. Following execution, the near-IR hardware returns status telemetry that the flight
software consolidates into script command response telemetry. As the lower-level scripts complete, status is
sent to the top-level near-IR script. Upon completion of all commanding, the near-IR script exits with a status
value sent back to the Observation Plan Executive.
6
American Institute of Aeronautics and Astronautics
needs, the working group refines the science instrument operations concept document, one function at a time, to
provide information for deriving the script requirements. The commanding team drafts the script requirements that
are then reviewed and approved for implementation by the operations working group. As the working group
members are dispersed geographically, most meetings are held by telecom at a frequency of once a month. Most of
the work, however, is done offline. The telecoms are used to review the operations concept document and script
requirement updates. Guest participants are also invited for discussions of particular hardware operations. For
example, when addressing IR detector operations, the hardware engineers are invited to present a hardware overview
and to discuss related operational topics. Being able to interface with knowledgeable flight hardware and software
experts at the time they are working on the JWST project is invaluable for script development and for future error-
free in-flight operations. It enables the operations concepts to be embraced by the larger science instrument
community, and to influence flight hardware and software design. Opportunities to simplify both ground and flight
systems can be facilitated.
Figure 6. Script Development Flow of two Script Builds with two iterations each. Unit and Regression testing
are done with each iteration. Integration Testing is done with each build. Scenario Testing is done at
Integration and Test with flight hardware. The grey boxes are operations working group actions and the blue
boxes are commanding team actions. Time flows down to page.
After the requirements for a particular function are approved, the commanding team designs, implements, and
tests the appropriate set of JavaScripts. The scripts are tested in the Space Telescope Science Institute Script
Development Lab, a COTS test environment consisting of a COTS payload computer, the current version of the
payload flight software, and software science instrument and spacecraft flight software simulators. In each
7
American Institute of Aeronautics and Astronautics
subsequent script iteration, liens and enhancements to previous implemented functions are also addressed and a
complete suite of regression tests is executed. Peer reviews are held for all design, scripts, test plans, and test results.
During the script development phase the commanding group also works with the flight software teams to define
the script-to-flight software interface, that is, the command and telemetry descriptions. Documentation of the
interface is done in the syntax compatible with the JWST Project Reference Database where all command and
telemetry items are officially stored.
A script build delivery consists of a number of script function iterations and occurs approximately once every
nine to twelve months during the development phase. The script builds are integration-tested and certified on the
best available flight software environment with a more flight-like computer, the current science instrument flight
software, and science instrument hardware simulators. After successful integration testing, the scripts are available
for flight-like scenario testing against real flight hardware. The script development schedule is consistent with
Project’s Integration and Test schedule. All scripts are certified against observatory simulators prior to the scenario
testing with flight hardware.
complexities that needed further exploration and analysis. To address this concern, a significant amount of work was
done to demonstrate that the concept for JWST event-driven operations is self-consistent and does not present major
implementation difficulties. A JWST command operations concept was documented4 along with the associated use
case scenarios in 2002 and 2003. Several preliminary flight software prototypes were completed to demonstrate the
feasibility of the event-driven command concept. Following the language selection of ScriptEase JavaScript, the
payload flight software requirements for the Script Processor were drafted by early 2004. A day-in-the life prototype
was run shortly afterwards which demonstrated six days of flight-like operations from program submission to flight
software execution.
In 2005 the Script Processor flight software was completed, and Activity Description script development was
begun in earnest. The four science instrument operations working groups have been active for more than a year with
one completed script build per science instrument as of March 2006. A total of twelve script iterations/functions
have been implemented. When the necessary test environment becomes available, the next set of science instrument
builds will undergo integration testing.
VIII. Conclusion
An event-driven command architecture is being developed for the James Webb Space Telescope mission. On-
board scripts generate commands and retrieve telemetry using an embedded COTS JavaScript interpreter. High-
level ground directives, periodically uploaded as textual files, specify the on-board event-driven operations flow.
The JWST ground system complexity is reduced while still providing efficient science operations. The iterative
script development process enables early and frequent “test-as-you-will-fly” verification and reduces the risk of in-
flight operational incompatibilities.
Acknowledgments
The authors would like to thank the Goddard Space Flight Center’s JWST payload flight software team for the
successful implementation of the Script Processor, the Goddard Space Flight Center’s Ground System team for
providing the script development test lab at Space Telescope Science Institute, the Space Telescope Science
Institute’s commanding team for a successful first year of script development, and Ken Rehm, lead JWST software
systems engineer, for many constructive conversations, encouragement, and support during the evolution of this
event-driven architecture.
References
1
Astronomy and Astrophysics Survey Committee, Astronomy and Astrophysics in the New Millennium, National Academy
Press, 2001, ISBN: 0-309-07031-7, pp. 33, 36.
2
K. Long, J. Isaacs, W. Kinzel, L. Petro, P. Stanley, and H. Stockman, “Scheduling James Webb Space Telescope
Observations at L2,” SpaceOps Confernce,AIAA-2006-5774, 2006.
3
Welter, G., Zak, D., Greville, E. and Balzano, V., “JWST On-board Activity Description Script Language Evaluation and
Selection,” Report for NASA GSFC Flight Software Branch/Code 582, 2003.
4
Stanley, P., “Mission Operations Concept Document,” JWST-OPS-2018B, prepared by Space Telescope Science Institute,
DRD# S&OC-Op-02, under contract/agreement: NAS5-03092, 2005.
8
American Institute of Aeronautics and Astronautics