CCSDS MAL and SEDS

CCSDS Standardisation Support
CCSDS MAL and SEDS
SSL/08540/TN/001
Issue 1.0 draft b, 23/02/2017
SCISYS UK Limited, Clothier Road, Bristol, BS4 5SS, UK
[email protected] | +44 (0)117 916 5165 | www.scisys.co.uk
Intentionally Blank
Project:
Doc Type:
Title:
CCSDS Standardisation Support
Technical Note
CCSDS MAL and SEDS
Document Control Information
SCISYS Reference
SSL/08540/TN/001
Issue
1.0 draft b
Issue Date
26/04/2017
Classification
NOT PROTECTIVELY MARKED
Role
Name(s)
Author
Richard Melvin
Reviewed
Alan Pascoe
Authorised for Release
Spencer Ziegler
Signature(s)
NOTICE
The contents of this document are the copyright of SCISYS UK Limited and shall not be copied in whole, in part or
otherwise reproduced (whether by photographic, reprographic or any other method) and the contents thereof shall
not be divulged to any other person or organisation without the prior written consent of SCISYS UK Limited.
© SCISYS UK Limited 2017
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
ISSUE RECORD
Issue
Issue Date
Sections Affected
Relevant Information
1.0
26/04/2017
All
Not Yet
Commercial-in-Confidence
ii
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
TABLE OF CONTENTS
ISSUE RECORD ................................................................................................................................................ II
TABLE OF CONTENTS ...................................................................................................................................... III
TABLE OF FIGURES ......................................................................................................................................... III
1.
INTRODUCTION .................................................................................................................................. 4
1.1
DOCUMENT REFERENCES ................................................................................................................... 5
1.2
DEFINITIONS ....................................................................................................................................... 5
1.2.1 Acronyms ..................................................................................................................................... 5
2.
2.1
2.2
INTRODUCTION TO SOIS EDS .......................................................................................................... 6
SOIS EDS DATASHEET ...................................................................................................................... 8
SIMPLE EXAMPLE OF DATASHEET USE ............................................................................................... 10
3.
INTRODUCTION TO MO SERVICES ................................................................................................ 11
4.
ANALYSIS .......................................................................................................................................... 13
4.1
4.2
4.3
4.4
4.5
5.
AREAS OF OVERLAP BETWEEN THE STANDARDS ................................................................................ 13
SPECIFYING INTERFACES .................................................................................................................. 15
DETAILED COMPARATIVE ANALYSIS ................................................................................................... 16
MAPPING BETWEEN SOIS EDS AND A BESPOKE MO SERVICE ............................................................ 18
USING STANDARD MO SERVICES WITH EDS ....................................................................................... 19
RECOMMENDATIONS AND CONCLUSION .................................................................................... 21
TABLE OF FIGURES
FIGURE 1 TWO HYPOTHETICAL MISSIONS USING CCSDS STANDARDS ............................................4
FIGURE 2-1 CCSDS EDS CONCEPT ..........................................................................................................6
FIGURE 2-2 SOIS REFERENCE COMMUNICATIONS ARCHITECTURE .................................................7
FIGURE 2-3 SOIS EDS DEVICE DATASHEET CONTENTS ......................................................................8
FIGURE 2-4 PARAMETERS AND COMMANDS ON AN INTERFACE .......................................................9
FIGURE 2-5 ROLE OF SOIS EDS WITHIN SOIS-BASED OBSW ........................................................... 10
FIGURE 7 CCSDS MO SCOPE ................................................................................................................. 11
FIGURE 8 DETAILS OF A MO SERVICE .................................................................................................. 12
FIGURE 9 TRANSFORMATION OF MAL INTO TECHNOLOGY-DEPENDENT INTERFACE
SPECIFICATIONS .............................................................................................................................. 12
FIGURE 10 OVERLAP BETWEEN STANDARDS ..................................................................................... 13
FIGURE 11 BINARY INTERFACE TO THE DEVICE EXPRESSED AS A CCSDS EDS .......................... 13
FIGURE 12 SEQUENCE DIAGRAM: ADJUSTING A SETTING ON A DEVICE AT THE REQUEST OF
THE END USER ................................................................................................................................. 14
FIGURE 13 INTERFACE FORMALISM PROPERTIES ............................................................................. 15
FIGURE 14 XML STRUCTURE OF EDS AND MAL .................................................................................. 16
FIGURE 15 MAL INTERACTION PATTERNS ........................................................................................... 17
FIGURE 16 EDS INTERACTION PATTERNS ........................................................................................... 17
FIGURE 17 MO ACTION SERVICE IMPLEMENTED USING THE ACTION PROVIDER API ON-BOARD
............................................................................................................................................................ 19
FIGURE 18 MO ACTION SERVICE IMPLEMENTED USING THE ACTION PROVIDER API ON
GROUND ............................................................................................................................................ 20
Commercial-in-Confidence
iii
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
1. INTRODUCTION
Founded in 1982 by the major space agencies of the world, the CCSDS is a multi-national
forum for the development of communications and data systems standards for spaceflight, with
the goal of enhancing governmental and commercial interoperability and cross-support, while
also reducing risk, development time and project costs. Within that organisation, working groups
have been tasked with looking at different areas of interoperability, specifically:


Mission Operations and Information Management Services (MOIMS), covering the
interface between operations teams and the spacecraft.
Spacecraft On-board Interface Services (SOIS), covering the interface between
spacecraft and on-board systems or devices.
This division of responsibility can be illustrated by an example whereby a hypothetical university
designs, builds and is involved in the operation1 of a simple on-board instrument.


SOIS is responsible for the information the university supplies to the agency in order to
integrate the instrument into the overall on-board platform.
MOIMS is responsible for the information the university supplies to the agency in order
to operate the instrument during the mission lifecycle.
SOIS
SOIS
NASA
ESA
Specifies,
builds,
operates
SPACELINK
MOIMS
SPACELINK
MOIMS
Figure 1 Two hypothetical missions using CCSDS Standards
If two copies of similar devices fly on different spacecraft operated by different agencies, then, if
the CCSDS standards are applied in all cases, the result is minimal extra work for the university.
The same principles apply in more complex cases where the client, designer, manufacturer and
operator are not the same, or where there are multiples of each.
This technical note is aimed at examining the CCSDS standards produced for these two areas,
with an eye to looking for opportunities to transfer lessons learned between them.
1
This involvement could potentially take the form of real-time commanding, requests for planning the scheduling of
an activity, or be entirely delegated to the agency. In general, the more delegation that occurs, the more information
will need to be transferred to the agency in order to support it in making decisions on behalf of the client.
Commercial-in-Confidence
4
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
1.1 Document References
ID
Reference Document
Reference
Version
Date
[SEDS]
XML Specification for Electronic Data
Sheets
876x0
2016 draft
19/08/2016
1.2 Definitions
1.2.1 Acronyms
Acronym
Definition
API
Application programming Interface
CCSDS
Consultative Committee for Space Data Systems
ECSS
European Cooperation for Space Standardization
EDS
Electronic Data Sheet
EGSE
Electronic Ground Support Equipment
MAL
Message Abstraction Layer
MCS
Mission Control System
MO
Mission Operations
OBSW
Onboard Software
PDU
Protocol Data Uint
RMI
Remote Method Invocation
SAP
Service Access Point
SDU
Service Data Unit
SOIS
Spacecraft Onboard Interface Services
SVF
Software Verification Facility
UML
Universal Modelling Language
XML
eXtensible Markup Language
Commercial-in-Confidence
5
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
2. INTRODUCTION TO SOIS EDS
Electronic Data Sheets (EDS) is a concept that has been proposed to allow the capture of the
relevant information about a piece of equipment. This should capture the relevant aspects not
just to enable an efficient exchange of information (easing its maintainability, enforcing
consistency, etc.), but also enabling the development process of related software to be
supported by the use of model-based software engineering techniques.
Figure 2-1 CCSDS EDS Concept
In the course of the mission lifecycle, many category of system will need to represent or interact
with an onboard device, including:






Tools used for the design and validation of the device itself
System design and analysis tools modelling a system using the device, for example to
check bus bandwidth and schedulability.
Mission Control and EGSE systems, in cases where the device contributes to the
definition of some portion of the spacecraft TM/TC.
System Verification Facilities and Operational Simulators that model device behaviour in
order to validate the interaction of the OBSW and the device.
Tools uses for the design and implementation of the OBSW, including code generators.
Tools that generate portions of the system documentation.
This wide range of usages means that no one tool could plausibly meet them all; hence the
need for a standardised data format. Consequently, the SOIS standard for Electronic Data
Sheets [SEDS] takes the form of an XML schema2 designed for tool interchange, i.e.
exchanging device data between two software systems.
2
Supplemented by additional constraints not representable using the XML schema language.
Commercial-in-Confidence
6
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
Electronic Data Sheets
Execution Platform
Application
Layer
Subnetwork
Layer
DeviceSpecific
Services
Communication
Management
(MIB)
Packet
Services
Applications
Application
Support
Services
Memory
Access
Service
Network
Discovery
Service
Test
Service
Synchronization
Service
Datalink Convergence Protocols
Wireless*
CAN
Milbus
TTP
TTE
Ethernet
Serial
RapidIO
(SRIO)
Space
Wire
Space
Fibre
ARINC
653
Figure 2-2 SOIS Reference Communications Architecture
It forms part of the SOIS Reference Communication Architecture, as shown above. In that:



An architecture-specific execution platform schedules and connects components
according to their service access points. ASAP, or port, is an abstract concept that can
be realised by static function calls, dynamic routing of messages, a software bus, or any
other implementation technique suitable for a given execution platform.
The subnetwork layer provides a standardised set of access points to a wide variety of
networking protocols. These access points are defined in terms of raw data (i.e. arrays
of bytes). This layer covers sending and receiving discrete packets, accessing remote
memory, synchronising with the subnetwork, and also the discovery and test of devices
on the subnetwork.
The application layer contains mission specific applications, common support
services to those applications, and device-specific services that represent the
functionality of the device.
The role of the EDS for a device is to specify the logical mapping between the universal binarylevel subnetwork SAP and higher-level device-specific SAPs usable by applications and other
services.
Such a device datasheet defines the interpretation and contents of the messages exchanged by
applications and devices across the subnetwork layer, and the state machines required to check
and feed this information up to higher layers. By specifying the device data interface in terms of
this abstract model, it becomes possible to determine the correctness and completeness of a
device datasheet in isolation from the actual OBSW that will be used to communicate with the
device in any particular case. This validated datasheet can then be used as an input to the
development and testing of those systems that interact with the device (i.e. the spacecraft
OBSW, checkout systems, etc.).
Commercial-in-Confidence
7
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
2.1 SOIS EDS Datasheet
A SOIS EDS Datasheet is a package that can contain definitions of:

Interfaces that allow two-way data interchange, within the scope of a single device.

Components that map a set of provided interfaces to a set of required interfaces.
Together, these components and interfaces specify the Device-Specific Services for a
particular type of onboard device.
cmp Datasheet
DeviceSpecificFunctionalInterface
DeviceAbstractionControlProcedure
DeviceSpecificAccessInterface
DeviceSpecificAccessProtocol
SubnetworkServiceInterface
Figure 2-3 SOIS EDS Device Datasheet Contents
By convention, a complete datasheet for a device should contain at least two interfaces:

The Device-Specific Access Interface; the lowest-level access to all raw decoded data
transmitted to and from the device.

The Device-Specific Functional Interface; higher-level access to calibrated or derived
data.
Both of these interfaces are device-specific because different devices support different sets of
data. These are split to allow missions the option of supporting either one, or both3.
In the typical case, there will be a single component providing each interface, and the
component implementing the higher-level interface will be defined in terms of the lower-level
one. The lowest-level component will require one or more subnetwork-level interfaces.
Interfaces in a datasheet can be defined in multiple parts, and collected together using
inheritance. This allows a part of the interface of a device to be standardised, or pre-specified,
while other parts are manufacturer additions or customisations.
Mapping the device-specific interfaces defined in the datasheet to actual APIs or messaging
interfaces used by a specific OBSW architecture is explicitly not the concern of a datasheet;
otherwise the same device datasheet could not be used when the same hardware device is
used for missions of different software architectures.
3
It is common for there to be no requirement to perform calibration on-board .In such cases the OBSW uses only the
access-level interface, while the datasheet still contains calibration data for the sake of ground systems, simulators,
etc.
Commercial-in-Confidence
8
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
All interfaces provided and required are explicitly defined within a datasheet; there is no
privileged treatment or special-casing for standardised interfaces. The datasheet construct used
to define interfaces can be used to specify both high-level functional interfaces (e.g. an API, or
messaging interface with regular encoding) and low-level binary interfaces containing arbitrarilyencoded data, as commonly produced by device hardware.
As a consequence of the above, SEDS interfaces are able to not only specify a new interface (a
capability shared by many other similar component systems) but to capture an existing
interface. This includes cases where that interface was designed and implemented without
knowledge of the SEDS or SOIS. In other words, SEDS allows wrapping an existing, welltested and certified legacy device in a component-level interface. This avoids the costs and
risks associated with producing custom variants of a device containing support for the
technology stack of a particular agency.
A key characteristic of SEDS interfaces is that while they support 2-way data exchange, they
are partitioned into:

Parameters4; messages coming from the device, plus those 2-way exchanges whose
sole purpose is to get or set a discrete value on a device.

Commands; messages sent to a device, plus 2-way exchanges with any purpose other
than reading or writing a single parameter.
Figure 2-4 Parameters and Commands on an interface
4
Note that SEDS parameters are commonly aggregates of primitive values; as such they arguably more resemble
packets than the individual parameters of typical datapool-based software architectures.
Commercial-in-Confidence
9
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
2.2 Simple Example of Datasheet Use
Figure 2-5 Role of SOIS EDS within SOIS-based OBSW
The above diagram shows the information specified by a datasheet being directly used5 to
communicate with a device. In it:

The Device Specific Access Protocol takes an arbitrary set of encoded binary
messages from the subnetwork level and rearranges them into a known and finite set of
raw commands and parameters.

The Device Abstraction Control Procedure further maps those access-level
commands and parameters them into calibrated parameters and commands, which have
semantically meaningful values in terms of engineering units.

The Subnetwork Implementation is a thin software layer implementing a standardised
subnetwork protocol (e.g. ECSS SpaceWire) referenced, but not specified, in the
datasheet.
5
Commonly this will involves some form of code generation; the principles are the same for manual coding, or even
run-time interpretation.
Commercial-in-Confidence
10
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
3. INTRODUCTION TO MO SERVICES
Monitor and Control
Common Infrastructure
Data Product Distribution
Telerobotics
Planning
Scheduling and Automation
Navigation
Software Management
File Transfer and Management
Figure 6 CCSDS MO Scope
CCSDS is standardising a set of services for Mission Operations. These services define a single
specification for the exchange of similar information.
To support these standardised services CCSDS has also defined an open architecture and
framework that is:





Independent from technology
Able to integrate new and legacy systems of different organisations
Designed to support the long lifetimes of space missions
Based on a Service Orientated Architecture (SOA)
Allows defining new bespoke services for a mission-specific need.
Commercial-in-Confidence
11
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
Consumer
Provider
Service
Operation
Figure 7 Details of a MO Service
Each MO service, whether standardised or bespoke, is defined by a set of operations that the
provider of the service makes available to be invoked by the service consumer. Each
operation is defined from a template specified by an interaction pattern; one of
send/submit/request/invoke/progress/pubsub. Each such pattern has a list of the messages that
must be specified (e.g. request and response for the request pattern).
The MO concept is supported by the MO framework, which defines the structure of an MO
application, provides a generic model for data, supports generic facilities such as archiving, and
provides separation from technology
At the core of the framework is the Message Abstraction Layer (MAL), which defines a
standard XML notation for service specifications. These abstract specifications then get
transformed into the appropriate representation for whatever underlying technology is used at
implementation time (e.g. Interface Definition Language for Corba).
Figure 8 Transformation of MAL into technology-dependent interface specifications
Commercial-in-Confidence
12
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
4. ANALYSIS
4.1 Areas of Overlap Between the Standards
Interfaces
Types
Components
Encodings
Hardware
Onboard
EDS
MAL
Mappings
Ground
Segment
MAL
Figure 9 Overlap Between Standards
The two standards have different scopes and purposes, but do have two areas of overlap:


Interfaces, which describe the set of possible message exchanges between two or
more communicating entities.
Types, which describe and constrain the contents of those messages.
In the case of the hypothetical mission shown in Figure 1, suppose that the hardware device
produced by the university has a certain number of configurable settings and modes. The
spacecraft OBSW can adjust those settings according to an interface specified in the EDS
datasheet for the device.
Figure 10 Binary interface to the Device expressed as a CCSDS EDS
The above formatted EDS extract shows how the Protocol Data Units exchanged with the device are split
into fields with associated encodings, types and semantics.
Commercial-in-Confidence
13
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
Figure 11 Sequence diagram: adjusting a setting on a device at the request of the end
user
The above sequence diagram shows a request being made by an end user, going through a representative
range of services on the ground and space, and ultimately resulting in a data exchange of binary words
across a MILBUS that conforms to the description specified in a CCSDS EDS.
In effect, a subset of the hardware device interface, as defined in the CCSDS EDS, is made
available, via CCSDS MO services, to the end user. Ideally, it would be technically possible to
expose every such hardware interface in this way, leaving the decision as to which interfaces
should be so exposed to be based on the operations concept for the mission.
Commercial-in-Confidence
14
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
4.2 Specifying Interfaces
IEEE defines the verb interface as ‘To connect two or more components for the purpose of
passing information from one to the other’. The noun form, ‘an interface’, is a specification of
how this is done, exactly what categories of data can be exchanged in what sequences.
Between programming languages, standards, middleware tooling, etc. there is a large variety of
ways to formally specify an interface. Each such specification makes certain assumptions about
what an interface is, in order to describe it.
For our purposes, we can categorise these formalisms according to the following set of
properties:




Message Encoding: how the data in the messages passing across the interface is
represented in terms of octets and bits. Can be:
o Implicit: left to a tool to work out according to a set of defined ‘encoding rules’.
o Explicit: specified as part of the interface.
o Optional: a choice of either of the above.
Cardinality: the number of components connected. Can be 1:1,1:Many or Many:Many
Directions: From which of the ends of the interface message groups can be initiated.
Can be one-way or two-way
Message Grouping: whether the messages are entirely standalone, or implicitly
grouped together by some underlying mechanism. Can be:
o none: each message is standalone.
o Paired: each message can have a single reply.
o Patterned: messages are organised into arbitrarily-large groups according to a
set of predefined interaction patterns
Formalism
Terminology
Encodi
ng
Cardinality
Direction
s
Message Grouping
C family6
PUS9
RASDS10
EDS
MAL
set of functions
service
port
interface
service
implicit7
explicit
explicit
optional
implicit
1:many
many:many
1:1
1:1
1:111
one-way
two-way
two-way
two-way
one-way
paired8
none
none
paired
patterned
Figure 12 Interface Formalism properties
6
The programming language C is included because of its historical influence on both other languages like C++ and
Java, on middleware targeted at those languages like Corba, RMI and ESA’s SMP2, and also on formalisms
designed largely to generate code in such languages, such as UML and SysML Some of those have an explicit
‘interface’ construct corresponding to a set of functions.
7
The compiler selects the actual layout of data in memory, according to properties of the target CPU.
8
The return value of a function is inherently associated with the corresponding call.
9
ESA packet Utilisation Standard, ECSS-E-ST-70-41C.
10
Reference Architecture for Space Data Systems (RASDS), CCSDS 311.0-M-1
11
Except a PubSup operation, which has 3 participants.
Commercial-in-Confidence
15
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
4.3 Detailed Comparative Analysis
Figure 13 XML structure of EDS and MAL
Areas marked with ‘A’ are abstract, hiding further detail.
When an EDS is used to define an interface:





A datasheet contains several namespaces.
Namespaces define data types and interfaces.
Interfaces use inheritance, and contain parameters and commands.
Commands have arguments.
Arguments and parameters have a data type.
When MAL is used to define a service:







A specification contains several areas.
Areas define data types and services.
A service can define data types, and consists of several capability sets.
Each capability set defines a number of operations
Each operation has a sequence of message, organised by interaction pattern
Each message has a number of named fields
Each field has a data type.
Commercial-in-Confidence
16
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
Figure 14 MAL Interaction Patterns
The six supported MAL interaction patterns can be associated with any operation, governing which
messages must be specified to define the operation
Figure 15 EDS Interaction Patterns
EDS has 4 distinct interaction patterns for commands, based on whether the command mode is async or
sync, and whether it has only input arguments, only output arguments, or both.
Three of the EDS interaction patterns map directly to the MAL patterns Send, Submit, and
Request. The other, async + outArgsOnly, corresponds to a partial PubSub pattern with no
filter.
Commercial-in-Confidence
17
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
4.4 Mapping between SOIS EDS and a bespoke MO Service
An interface specified in EDS can be mapped to MAL by the following algorithm.









Within the EDS datasheet:
o replace each Parameter X with the equivalent list of getX, setX and/or updateX
commands, according to the read-only and mode attributes.
o replace any types defined inline with explicit named type definitions.
Create a MAL Specification corresponding to the EDS Datasheet.
For each EDS Namespace involved, create a corresponding MAL Area.
For each EDS Datatype involved, reference or create a corresponding MAL Datatype.
Create a MAL Service corresponding to the instantiated Interface specification as used
by a particular component.
Create a MAL Capability Set for each Interface Specification involved in defining that
interface.
Create a MAL Operation for each EDS Command, with interaction pattern set
according to:
o the value of the mode attribute
o the mode attributes of all arguments to the command.
Create a MAL Message for each slot in the selected interaction pattern
Create a MAL Field for each input or output argument of the command, using the
matching datatype.
The result of this will be the equivalent bespoke MO service.
However, while doing this mapping is possible, analysis of the target scenario suggests that it is
not likely to be actually helpful. Instead, it is more useful to investigate how the standardised MO
Action and Parameter services can be used to achieve the same affect.
Commercial-in-Confidence
18
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
4.5 Using standard MO services with EDS
Figure 16 MO Action Service implemented using the Action Provider API on-board
The parameter service is similar.
The University has the datasheet, which, in the EDS Device Access interface, gives it the set
of parameters and commands supported by the device. So logically at the peer-to-peer layer it
can talk to the Device.
To implement that logical link, it establishes a consumer link to the Action Service of the MO
ground segment using a prearranged domain id, e.g. mySc.payload.myDevice.prime.
The university sends an action ‘configureMode(STANDBY)’ using the MO Action Consumer
API. The action service in the ground segment can logically at the peer-to-peer layer talk to the
same layer onboard using the standard MO Action Provider API.
To implement this, it encodes those messages using the MO space packet encoding and sends
them to the Agency layer as a CCSDS TC packet. This physically sends the space packets up
to the satellitte.
Onboard, the implementation at that layer is the Device Handler. This, when it receives the
corresponding MAL-level message, use the subnetwork interface described by the datasheet to
talk to the device to physically send the command on the MILBUS, spacewire or whatever, and
determine its success or failure. This action status data is then relayed back to the ground.
A device datasheet contains all the information required to specify the behaviour of a device
handler using this model, meaning that part of the implementation can be automatically
generated.
Commercial-in-Confidence
19
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
Figure 17 MO Action Service implemented using the Action Provider API on ground
Again, the parameter service is similar
A straightforward adaptation of the above approach works in the case where MO is not
supported onboard. The Device Handler is now implemented using the same techniques as the
rest of the spacecraft platform, and supports arbitrary TM/TC, as defined in a spacecraft
database. A ground-side MO Adapter translates that TM/TC into the calls to the action provider
API that would have been made using the onboard approach.
In this case, not only the Device Handler, but the relevant portions of the spacecraft database
and the MO Adapter would be able to be generated from, and/or verified against, the device
datasheet.
Either implementation choice would be transparent to the end user.
Commercial-in-Confidence
20
CCSDS Standardisation Support:
CCSDS MAL and SEDS:
SSL/08540/TN/001, Issue 1.0 draft b, 26/04/2017
5. RECOMMENDATIONS AND CONCLUSION
The CCSDS MOIMS and SOIS working groups have different scopes, but have seen some
convergence in technical approach, with specifically SOIS EDS and MOIMS MAL having a
certain degree of overlap in capability.
However:



That overlap is limited to perhaps 15 to 20% of the scope of each specification
Analysis of a scenario where both MO services and SOIS EDS interfaces were in use
shows there is no need to translate between the two, as they operate on different levels
of abstraction.
Translating between the two representations is any case straightforward.
So attempting to create a common core specification, which the two usages would then
differently extend, would be unlikely to be a worthwhile exercise.
Instead, lessons learned from this analysis should be fed back into the corresponding
specification development processes, in order to improve areas where either is lacking in
capability or excessively complicated. For EDS, these could include:



Replacing the term ‘namespace’ with ‘area’, as that avoids confusion with XML
namespaces.
Replacing the term ‘interface instance’ with ‘port’, for better compatibility with UML2,
and avoiding the potential confusion between ‘interface definition’ and ‘interface
instance’.
Replacing the ‘mode’ SYNC/ASYNC flag on parameters and commands with a boolean
value ‘oneway’, by analogy with Corba. This avoids overloading the term ‘mode’ (also
used for arguments) and removes one of the two ways of specifying the same thing
(see Figure 15 EDS Interaction Patterns).
For MAL:


the concept of ‘semantics’ is currently missing; parameters and arguments have at most
an engineering unit, they do not have any other structured information required to
understand their meaning and role.
Greater clarity is needed on whether parameters and arguments could, or should, be
aggregate data types. This include interaction with other services such as the limit check
service; what does it mean to limit check a parameter that is a structure or array?
Commercial-in-Confidence
21