The Task Remote Asynchronous Message Exchange Layer (Tramel) software reduces the costs of distributing application programs across computer networks, including the Internet. Tramel implements robust, reliable, simple, highly portable interprocess communication, such that distributed application programs can tolerate extreme deterioration of communication links and elements of such a program can be stopped, moved to other computers (including computers with different operating systems), and restarted, all while the program is running and without alteration of any source code or configuration file. Because Tramel is based on asynchronous message passing, it can tolerate extremely low link performance without sacrificing transaction concurrency or relying on a multithreading system. Tramel manages network connections for an application program, shielding the program from such details as processor architectures, operating systems, and communication protocols. At the same time, Tramel affords monitoring capabilities that can keep application-program elements informed of the current configuration of the program. Tramel can be executed on any of a variety of computers running the UNIX, VxWorks, or Windows NT operating system.
This program was written by Scott Burleigh of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free on-line at www.nasatech.com/tsp under the Software category.
This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393-3425. Refer to NPO-19889.
This Brief includes a Technical Support Package (TSP).

Communication Software for Distributed Application Programs
(reference NPO-19889) is currently available for download from the TSP library.
Don't have an account?
Overview
The document presents an overview of the Task Remote Asynchronous Message Exchange Layer (Tramel), a software system developed at NASA's Jet Propulsion Laboratory (JPL) to facilitate inter-process communication in distributed computing environments. Tramel is designed to address the challenges posed by varying communication rates and the complexities of multi-threaded programming, particularly in the context of deep-space exploration missions.
Tramel operates on the principle of peer-to-peer direct data transmission, utilizing object-oriented programming concepts. It allows different operating system tasks—such as threads and processes—to communicate effectively, regardless of the underlying platform or transport mechanism. This means that the same source code can be used across various systems, including IRIXS, Solaris, VxWorks, and Windows NT, without modification. Messages exchanged through Tramel are tagged with application-specific integers, known as "subjects," which help identify the type of message being sent. Additionally, messages can carry arbitrary content, enhancing their flexibility.
The system is built to support highly concurrent operations, making it scalable to hundreds or thousands of tasks. It is robust, designed to tolerate unplanned task terminations and variations in communication performance, which is crucial for applications where link performance can be unpredictable. Tramel also allows for reconfiguration during operation, enabling software components to be moved or restarted without halting the entire application.
Tramel has been successfully utilized in JPL's Flight System Testbed (FST) since 1995, demonstrating its capability in managing events and facilitating data communication among various software components. For instance, flight software running on VxWorks can be controlled from a Tel shell on an SGI workstation and monitored using LabView instruments on a Sparcstation, all while maintaining operational continuity.
The document emphasizes that Tramel is not only applicable to deep-space missions but could also be beneficial in other domains requiring reliable and efficient distributed computing solutions. It highlights the importance of standard protocols and file descriptors in ensuring the system's portability and reliability.
In summary, Tramel represents a significant advancement in distributed computing, providing a versatile and efficient framework for inter-task communication that can adapt to the demands of various computing environments and applications.

