Automation Language for Managing Operations (ALMO) is a computer program that assists a human operator at a central control station in monitoring and controlling a complex equipment system that includes multiple subsystems connected in a digital communication network. Still undergoing development, ALMO is designed specifically for automating the operations of NASA's Deep Space Network (DSN). ALMO could be modified for use as control software in other applications that involve monitoring and control; examples include assembly lines, chemical-processing plants, and environmental management systems.
ALMO assists in the automation of operations by providing a facility for expressing procedure and operators' knowledge in the form of instructions executed by software. These instructions interact with the subsystems via a transport layer.
ALMO comprises two main components: the ALMO language and the ALMO engine/interpreter. The ALMO language is an interpreted programming language that is used to write blocks in the control software of the DSN. As used here, "block" denotes a software construct equivalent to a subroutine that performs a specific function. A block contains preconditions, one or more directive(s) to subsystems, and post-conditions. A block is executed either from a command line or from a graphical user interface for a subprogram associated with a temporal-dependency network (TDN), which is a directed graph of interconnected nodes that represents an end-to-end sequence of operations. The TDN subprogram is equivalent to a main program that calls a subroutine at the appropriate time.
ALMO contributes to automation in several ways:
- It provides visibility for information about subsystems.
- It affords an extensive facility for executing logistics involved in system operations.
- The ALMO language can be characterized as a scripting language that can represent most, if not all of a human operator's actions in operation of a subsystem. ALMO retrieves monitor data and event messages and enables a block to react to them. In this respect, ALMO reduces the operator's workload, enabling the operator to monitor and control multiple subsystems, and thereby reduces the cost of operation.
- ALMO provides means to detect anomalies via subsystem monitor data, event messages, and directive responses, and alerts the operator when it detects an anomaly.
- ALMO reinforces the concept of modular programming, in that blocks are written as modules. Modules can be reused for different subsystems and in different applications; the number of blocks that must be written for a given application is thus smaller than it would otherwise have to be; the cost of maintaining the software is also correspondingly lower.
- ALMO can be used as a means for knowledge engineering and acquisition of knowledge.
This work was done by Paul Pechkam and Patricia Santos of Caltech for NASA's Jet Propulsion Laboratory. NPO-20587
This Brief includes a Technical Support Package (TSP).

Automation language for managing operations
(reference NPO20587) is currently available for download from the TSP library.
Don't have an account?
Overview
The document presents the Automation Language for Managing Operations (ALMO), developed by NASA's Jet Propulsion Laboratory (JPL) to enhance the efficiency and effectiveness of operations within the Deep Space Network (DSN). The motivation behind ALMO's development stems from the increasing demands for DSN resources and the necessity to minimize the loss of spacecraft data while reducing operator workload and operational costs.
Prior to ALMO, automation in DSN operations relied on limited scripting languages like Macro language and BasicScript, which were non-modular and complicated. These languages imposed significant constraints on operators, requiring them to understand intricate details of the code to perform tasks, leading to maintenance challenges and increased error rates. The document highlights the need for a more modular, flexible, and user-friendly approach to scripting that would allow operators to manage multiple spacecraft tracks effectively.
ALMO addresses these challenges by providing a robust and extensible scripting language capable of representing a wide range of operational procedures. Its key features include the ability to specify display information, send messages to logs, poll and fetch monitor data, obtain parameter inputs, and query subsystem statuses. This flexibility allows for variations in operational procedures across different complexes and supports.
The language is designed to be maintainable, making it easy to update and modify scripts as needed, which is crucial in the dynamic environment of space operations. ALMO is also user-friendly, ensuring that both human operators and computers can easily read and utilize the scripts. By capturing operator knowledge and automating routine tasks, ALMO enables operators to focus on more complex issues, thereby reducing the need for additional personnel and lowering operational costs.
In summary, ALMO represents a significant advancement in the automation of DSN operations, providing a solution that simplifies the creation, testing, and maintenance of operational scripts. Its development reflects a commitment to improving the efficiency of space operations while ensuring the reliability and integrity of spacecraft data management. The document serves as a technical disclosure of ALMO, outlining its features, benefits, and the problems it aims to solve in the context of deep space communications.

