An application library package was developed that represents data packets for Deep Space Network (DSN) message packets as dynamically alterable arrays composed of arbitrary polymorphic data types. The software was to address a limitation of the present state of the practice for having an array directly composed of a single monomorphic data type. This is a severe limitation when one is dealing with science data in that the types of objects one is dealing with are typically not known in advance and, therefore, are dynamic in nature. The unique feature of this approach is that it enables one to define at run-time the dynamic shape of the matrix with the ability to store polymorphic data types in each of its indices. Existing languages such as C and C++ have the restriction that the shape of the array must be known in advance and each of its elements be a monomorphic data type that is strictly defined at compile-time. This program can be executed on a variety of platforms. It can be distributed in either source code or binary code form. It must be run in conjunction with any one of a number of Lisp compilers that are available commercially or as shareware.
This program was written by Mark James of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free online at www.techbriefs.com/tsp under the Software category.
This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-42071.
This Brief includes a Technical Support Package (TSP).

Dynamically Alterable Arrays of Polymorphic Data Types
(reference NPO-42071) is currently available for download from the TSP library.
Don't have an account?
Overview
The document titled "Dynamically Alterable Arrays Composed of Arbitrary Polymorphic Data Types" (NTR-42071) outlines a software solution developed to enhance the handling of data packets for Deep Space Network (DSN) message packets. Traditional programming languages like C, C++, and Java impose restrictions on arrays, requiring them to be composed of a single, known data type defined at compile-time. This limitation is particularly problematic in scientific applications where the types of data are often dynamic and not predetermined.
The software presented in this document allows for the creation of dynamically alterable arrays that can store polymorphic data types. This means that at runtime, users can define the shape of the array and the types of data it will hold, enabling greater flexibility in data management. The ability to handle different fundamental data types within the same array index is a significant advancement, particularly for applications dealing with complex scientific data.
The software has been tested in a simulated environment with arrays that were 5000 times larger and more complex than those expected in actual operational settings, demonstrating its robustness and reliability. It has been successfully delivered to DSN operations, where it performed without errors.
The software is designed to be platform-independent, running on various systems including SUN, HP, Intel, and Apple MACs, as well as flight processors. It can be distributed in both source code and binary formats and requires a LISP compiler for execution. The memory requirements are flexible and depend on the specific applications utilizing the software.
This innovation is part of NASA's broader efforts to make aerospace-related technological advancements available for wider scientific, technological, and commercial applications. The document also provides information on how to access further resources and assistance through NASA's Scientific and Technical Information (STI) Program Office.
In summary, this document highlights a significant technological advancement in the representation and management of dynamic data types, addressing critical limitations in existing programming practices and offering a versatile solution for complex scientific data applications.

