2011

Asynchronous Message Service Reference Implementation

This software provides a library of middleware functions with a simple application programming interface, enabling implementation of distributed applications in conformance with the CCSDS AMS (Consultative Committee for Space Data Systems Asynchronous Message Service) specification.

The AMS service, and its protocols, implement an architectural concept under which the modules of mission systems may be designed as if they were to operate in isolation, each one producing and consuming mission information without explicit awareness of which other modules are currently operating. Communication relationships among such modules are selfconfiguring; this tends to minimize complexity in the development and operations of modular data systems.

A system built on this model is a “society” of generally autonomous, inter-operating modules that may fluctuate freely over time in response to changing mission objectives, modules’ functional upgrades, and recovery from individual module failure. The purpose of AMS, then, is to reduce mission cost and risk by providing standard, reusable infrastructure for the exchange of information among data system modules in a manner that is simple to use, highly automated, flexible, robust, scalable, and efficient.

The implementation is designed to spawn multiple threads of AMS functionality under the control of an AMS application program. These threads enable all members of an AMS-based, distributed application to discover one another in real time, subscribe to messages on specific topics, and to publish messages on specific topics. The query/reply (client/server) communication model is also supported.


Message exchange is optionally subject to encryption (to support confidentiality) and authorization. Fault tolerance measures in the discovery protocol minimize the likelihood of overall application failure due to any single operational error anywhere in the system. The multi-threaded design simplifies processing while enabling application nodes to operate at high speeds; linked lists protected by mutex semaphores and condition variables are used for efficient, inter-thread communication. Applications may use a variety of transport protocols underlying AMS itself, including TCP (Transmission Control Protocol), UDP (User Datagram Protocol), and message queues.

This work was done by Scott C. Burleigh of Santa Barbara Applied Research for NASA’s Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Daniel Broderick of the California Institute of Technology at This email address is being protected from spambots. You need JavaScript enabled to view it.. NPO-42814

This Brief includes a Technical Support Package (TSP).

Asynchronous Message Service Reference Implementation (reference NPO-42814) is currently available for download from the TSP library.

Please Login at the top of the page to download.

 

White Papers

Oscilloscope Fundamentals Primer
Sponsored by Rohde and Schwarz
Unique Method for Orifice Production
Sponsored by Bird Precision
10 Tips For Designing Silicone Medical Components
Sponsored by SMC
Is There an Easy Way to Cut the Cost of EWIS Compliance?
Sponsored by Mentor Graphics
Spherical Plain Bearing
Sponsored by AST Bearings
White Paper: Computer System Design for Critical Applications
Sponsored by Sealevel

White Papers Sponsored By: