CCSDS Mission Operations (MO) services are a set of standard end-to-end services based on a service-oriented architecture defined by the Consultative Committee for Space Data Systems (CCSDS) and it is intended to be used for mission operations of future space missions.
The architecture allows mission operation services to be specified in an implementation and communication agnostic manner. The core of the MO service framework is its Message Abstraction Layer (MAL) which ensures interoperability between mission operation services deployed on different framework implementations. The MO services are specified in compliance to a reference service model, using an abstract service description language, the MAL. This is similar to how Web Services are specified in terms of Web Services Description Language WSDL. For each concrete deployment, the abstract service interface must be bound to the selected software implementation and communication technology.
Standardization of a Mission Operations Service Framework offers a number of potential benefits for the development, deployment and maintenance of mission operations infrastructure:
The deployment of standardized interoperable interfaces between operating Agencies, the spacecraft and internally on-board would in itself bring a number of benefits. Each organization would be able to develop or integrate their own multi-mission systems that can then be rapidly made compliant with the spacecraft. It does not preclude the reuse of legacy spacecraft, simply requiring an adaptation layer on the ground to support it, rather than many mission-specific bespoke interfaces. In the on-board environment, where software development costs are considerably higher due to platform constraints and reliability requirements, software reuse can bring immense savings.
sudo apt-get install openjdk-8-jdk
sudo apt-get install maven
Clone this repository
git clone https://github.com/esa/mo-services-java.git
Build the cloned CCSDS MO Framework project:
mvn clean install
After building the main repository, navigate to the testbeds
directory. When building the testbed, an agency profile needs to be provided, e.g. ESA:
mvn clean install -P ESA
This will download and install the required dependencies and execute the tests. After running mvn clean install
once, the tests can be executed by running mvn surefire:test -P ESA
. Once finished, navigate to the report directory testbed-mal/target/surefire-reports/
and open TestDocument.html
to see the test results.
Logs of the test run can be found in the report directory in zzz_CCSDS_[...].txt
.
Running all test procedures usually takes several minutes. However, this is often not necessary during development. The testbed can be configured to only run selected tests as follows.
Navigate to testbeds/testbed-mal/src/main/fitness/FitNesseRoot/MalTests/TestDocument
and open content.txt
. By adding #
at the beginnig of a line, the corresponding test will not be executed.
shared broker = true
tests fail: Eventhough the framework supports the use of shared brokers, this is rarely used in practice as it bringt unnecessary overhead in most of the cases. Errors of this kind are usually results of issues on the transport layer.
The Releases can be found in: Releases
The release notes are available in Release Notes.
More code examples are available under tooling directory.
Bug Reports are directly in the source code repository can be submitted on: Issues
The CCSDS MO services are licensed under: European Space Agency Public License (ESA-PL) Weak Copyleft - v2.0