CCSDS MO MAL JAVA API AND IMPLEMENTATION
This project is an implementation of the CCSDS MO Message Abstraction Layer (MAL) Standard in Java language. The MAL Java API is standardized by the CCSDS and its final specification is available:
CCSDS Mission Operation implementations for other languages (e.g. C, Go, etc.) can be found on the CCSDS MO WebSite
Complete MAL specification can be found on the CCSDS website in the published documents section.
In particular:
- CCSDS 521.0-B-2, Mission Operations Message Abstraction Layer
- CCSDS 524.1-B-1, Mission Operations -- MAL Space Packet Transport Binding and Binary Encoding
- CCSDS 524.2-B-1, Mission Operations -- MAL Binding to TCP/IP Transport and Split Binary Encoding
This CCSDS MO MAL Java API was originally developed for the CNES, the French Space Agency, by ScalAgent, a french company specialized in distributed technologies. All contributions are welcome.
A MAL/Java description and user's guide is available in the doc directory.
This Java API implementation mainly includes 5 packages:
- malapi package defines all generic MAL Concepts described by the API: message, data types, etc.
- malimpl package contains the MAL Java implementation, it defines the high level broker, consumer and provider.
- malgen package defines the generic part of transport technology.
- malbinary package includes encoding technologies, in particular implementations for binary (fixed and varint) and split-binary encoding.
- maltcp package includes the implementation of TCP/IP transport binding.
Implementations of other transports are provided in 3 additional packages:
- malspp package includes a Space Packet transport implementation conform to the specification.
- maljms package includes a MAL transport implementation over the JMS 1.1 API.
- malamqp package includes a MAL transport implementation over the AMQP v0.9.1 API.
All projects are simply built using Maven:
- cd malapi ; mvn clean install ; cd -
- cd malimpl ; mvn clean install ; cd -
- cd malgen ; mvn clean install ; cd -
- cd malbinary ; mvn clean install ; cd -
- cd maltcp ; mvn clean install ; cd -
- cd malspp ; mvn clean install ; cd -
- cd maljms ; mvn clean install ; cd -
- cd malamqp ; mvn clean install ; cd -
This tutorial contains an introduction to the use of MAL Java API.