Satellite Control Software (SCS) Mission Data Client Extensibility User Guide



Similar documents
Embedded Critical Software Testing for Aerospace Applications based on PUS

Architectures for Fleet Management. B. L. Kizzort. Harris Corporation, Melbourne, Florida, USA.

Operability in the SAVOIR Context

Database Administration for Spacecraft Operations The Integral Experience

Module 13 Implementing Java EE Web Services with JAX-WS

ATV Data Link Simulator: A Development based on a CCSDS Layers Framework

Perceptive Intelligent Capture Solution Configration Manager

Log Service Installation Instructions

On-board Software Reference Architecture for Payloads

FILE MANAGEMENT AND FILE TRANSFER CNES VIEWS. Christian POULIQUEN

Cache Configuration Reference

Windows PowerShell Cookbook

This module explains fundamental aspects of Microsoft Dynamics NAV Development Environment.

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

CUSTOMISING CRUISECONTROL.NET

IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide

C#5.0 IN A NUTSHELL. Joseph O'REILLY. Albahari and Ben Albahari. Fifth Edition. Tokyo. Sebastopol. Beijing. Cambridge. Koln.

JOURNAL OF OBJECT TECHNOLOGY

Integration of DB oriented CAD systems with Product Lifecycle Management

Using Patterns with WMBv8 and IIBv9

Visual Basic. murach's TRAINING & REFERENCE

TDRS / MUST. and. what it might do for you

Quartz.Net Scheduler in Depth

Installation and Operation Manual TAP Application on the Open Java Server

Integrating Siebel CRM with Microsoft SharePoint Server

PI Cloud Connect Overview

StreamServe Persuasion SP5 Control Center

Software System Development for Spacecraft Data Handling & Control Data Handling System Concepts and Structure

Hummingbird. A Service Based Open Source Ground Segment for Small Satellites

Space Flight Project Work Breakdown Structure

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

The instructions were written for Windows 7. They have run without problems for Windows 8.

PHP Integration Kit. Version User Guide

Middleware support for the Internet of Things

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2

Users Guide and Reference

Space engineering. Space system data repository. ECSS-E-TM-10-23A 25 November 2011

Capturx for SharePoint 2.0: Notification Workflows

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5

GEVPlayer. Quick Start Guide

Package hive. January 10, 2011

5.2 Telemetry System Concept

WCF WINDOWS COMMUNICATION FOUNDATION OVERVIEW OF WCF, MICROSOFTS UNIFIED COMMUNICATION FRAMEWORK FOR.NET APPLICATIONS

Accessing Data with ADOBE FLEX 4.6

v Devolutions inc.

EMC Documentum Composer

Novell Identity Manager

The Recipe for Sarbanes-Oxley Compliance using Microsoft s SharePoint 2010 platform

Coveo Platform 7.0. Oracle Knowledge Connector Guide

Setting Up Resources in VMware Identity Manager

Configuring Java IDoc Adapter (IDoc_AAE) in Process Integration. : SAP Labs India Pvt.Ltd

Charith Pereral, Arkady Zaslavsky, Peter Christen, Ali Salehi and Dimitrios Georgakopoulos (IEEE 2012) Presented By- Anusha Sekar

INTERNATIONAL TELECOMMUNICATION UNION

ThirtySix Software WRITE ONCE. APPROVE ONCE. USE EVERYWHERE. SMARTDOCS SHAREPOINT CONFIGURATION GUIDE THIRTYSIX SOFTWARE

Industrial Network Security and Connectivity. Tunneling Process Data Securely Through Firewalls. A Solution To OPC - DCOM Connectivity

Portal Factory CMIS Connector Module documentation

Products that are referred to in this document may be trademarks and/or registered trademarks of the respective owners.

SOA Software API Gateway Appliance 7.1.x Administration Guide

MarkLogic Server. Node.js Application Developer s Guide. MarkLogic 8 February, Copyright 2016 MarkLogic Corporation. All rights reserved.

HYPERION SYSTEM 9 N-TIER INSTALLATION GUIDE MASTER DATA MANAGEMENT RELEASE 9.2

Metadata Management CMS Extension. Version 0.90

User Guide of edox Archiver, the Electronic Document Handling Gateway of

HEP Data-Intensive Distributed Cloud Computing System Requirements Specification Document

Developing Physical Solutions for InfoSphere Master Data Management Server Advanced Edition v11. MDM Workbench Development Tutorial

Network Interface Failover using FONA

Using RSMACC version control system with AB Industrial programming Controllers and files.

Proof of Concept. A New Data Validation Technique for Microsoft ASP.NET Web Applications. Foundstone Professional Services

BMC Performance Manager Windows Security White Paper DCOM / WMI

Kentico 8 Certified Developer Exam Preparation Guide. Kentico 8 Certified Developer Exam Preparation Guide

How To Backup In Cisco Uk Central And Cisco Cusd (Cisco) Cusm (Custodian) (Cusd) (Uk) (Usd).Com) (Ucs) (Cyse

Understand State Information in Web Applications

Standard Recommended Practice extensible Markup Language (XML) for the Interchange of Document Images and Related Metadata

Save Actions User Guide

An Interface from YAWL to OpenERP

Multiple Formatter Support for the Logging Application Block

metaengine DataConnect For SharePoint 2007 Configuration Guide

Design Notes for an Efficient Password-Authenticated Key Exchange Implementation Using Human-Memorable Passwords

Whats the difference between WCF and Web Services?

What s New. Archive Attender 4 For Microsoft Exchange

Nexus Professional Whitepaper. Repository Management: Stages of Adoption

Space engineering. System engineering. ECSS-E-10 C Draft 1

OPCNet Broker TM for Industrial Network Security and Connectivity

GeoDAS. Links to GeoSIG Instruments. User Manual Extension

Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions OVERVIEW

Microsoft Windows PowerShell v2 For Administrators

Communicating with a Barco projector over network. Technical note

CRM Setup Factory Installer V 3.0 Developers Guide

A L ERT. Quick Start With

ROUNDTABLE TSMS v9.1c - MS-Windows. Install Notes

TREK GETTING STARTED GUIDE

Amazon Glacier. Developer Guide API Version

Spring Design ScreenShare Service SDK Instructions

µtasker Document FTP Client

70-536VB:.NET Framework Application Development Foundation Course Introduction

StreamServe Persuasion SP5 Upgrading instructions

TUTORIALS. version 17.0

Flattening Enterprise Knowledge

ESTRACK Management System Support for the CCSDS Space Communication Cross Support Service Management

Getting Started with Telerik Data Access. Contents

Transcription:

Page : 1 of 16 Satellite Control Software (SCS) Mission Data Client Extensibility User Guide Prepared by: Florian George Stéphane Billeter Space Center EPFL Lausanne Switzerland 06 November 2013

Page : 2 of 16 RECORD OF REVISIONS ISS/REV Date Modifications Created/modified by 1/0 03/08/2011 Initial release Florian George 2/0 06/11/2013 Updated for QB50. Release ICD for CDR. Stéphane Billeter / Muriel Richard

Page : 3 of 16 RECORD OF REVISIONS... 2 ABBREVIATED TERMS... 4 INTRODUCTION... 5 1 IACTIONMODULE MODULES... 7 2 WINDOW AND FRAMEWORKELEMENT MODULES... 8 3 ACCESSING LIVE DISTRIBUTION... 9 4 ACCESSING ARCHIVE DISTRIBUTION... 11 5 CONFIGURING THE MDC TO LOAD MODULES... 13 6 CUSTOM REPORTING DATA... 14 7 FIGURES AND TABLES... 15 8 REFERENCES... 16

Page : 4 of 16 ABBREVIATED TERMS Ack CCSDS CRD COM ECSS EGSE ESA MCS MDC MDR Nack OSI PUS SCOE TC TM VC WPF Acknowledgement Consultative Committee for Space Data Systems Custom Reporting Data Component Object Model European Cooperation for Space Standardization Electrical Ground-Support Equipment European Space Agency Mission Control System Mission Data Client Mission Data Repository Negative Acknowledgment Open Systems Interconnection Packet Utilisation Standard (see [N1]) Special Checkout Equipment Telecommand Telemetry Virtual Channel Windows Presentation Foundation

Page : 5 of 16 INTRODUCTION This document describes the extensibility infrastructure of the Mission Data Client (MDC). The MDC can load modules which can perform a multitude of tasks ranging from new data displays to launching external programs. Figure 1 shows the simplified data flow of the built-in and custom reporting data. It is first processed and distributed by the Mission Control System (MCS), custom reporting data is serialized by the distribution modules. Then the data is distributed to the Mission Data Client where custom reporting data is deserialized. Processing, distribution and client modules are therefore usually developed together. Telemetry Mission Control System Core Built-in telemetry processing Processing modules Mission Data Repository Custom Data Repository Distribution Distribution modules Archive distribution Live distribution Built-in data types Archive client Archive client Archive client Client modules Live distribution client Custom data types Mission Data Client Figure 1 - The MCS and MCS extensibility architecture

Page : 6 of 16 The MDC is entirely built using the.net Framework 1, modules are no exception. A module is a class implementing a specific interface and configured to be loaded by the MDC. Multiple modules can be present in a single assembly. Chapter 6 describes the modules in details. The modules list is built at MDC's start-up and the modules are only instantiated when launched by the user. Modules must be a class that follows at least one the following requirements: Implement the IActionModule interface 2. Derive from the Window class from WPF. Derive from the FrameworkElement class from WPF. 1.NET Framework: http://www.microsoft.com/net/ 2 Epfl.SwissCube.GroundSegment.MissionDataClient.Components.IActionModule in MissionDataClient.Components.dll

Page : 7 of 16 1 IACTIONMODULE MODULES Module can implement the IActionModule interface 3 shown in Figure 2. If they do, the MDC will call the PerformAction method after the module instantiation. The argument passed with this method is the string specified for the argument attribute in the MDC's configuration (see chapter 5 Configuring the MDC to load modules). namespace Epfl.SwissCube.GroundSegment.MissionDataClient.Components { public interface IActionModule { void PerformAction(string argument); } } Figure 2 - IActionModule interface 3 Epfl.SwissCube.GroundSegment.MissionDataClient.Components.IActionModule in MissionDataClient.Components.dll

Page : 8 of 16 2 WINDOW AND FRAMEWORKELEMENT MODULES If the module's class is derived from the FrameworkElement class (System.Windows.FrameworkElement in the PresentationFramework.dll assembly of WPF), it is instantiated and added as the root element of the newly created module window. Module windows extend normal bare windows with the addition of a zoom slider which allows the user to increase the size of the window content as well as a spacecraft selection dropdown list. If the module's class is derived from the Window class (System.Windows.Window in the PresentationFramework.dll assembly of WPF), it is used directly as the window for the module (therefore without the added functionalities of a module window). The module's life-cycle (whether it is considered as running or not) is directly tied to the life-cycle of the module's window itself (whether it is a provided window or not).

Page : 9 of 16 3 ACCESSING LIVE DISTRIBUTION Window and FrameworkElement modules can access the live distribution to receive the incoming mission data of their choice. To do that, the modules can retrieved an instance of the LiveDistributionClient class 4 from the application resources through which all the interaction with the live distribution can be performed. Figure 3 shows how to retrieve this instance and how to register for the reception of housekeeping values. livedistributionclient = (LiveDistributionClient)FindResource("LiveDistributionClient"); livedistributionclient.housekeepingvaluereceived +=... Figure 3 - Retrieving the LiveDistributionClient instance example Figure 4 shows the definition of the LiveDistributionClient class. Modules can register to the various *Received events to receive the needed mission data. Modules shall only register to the events corresponding to the data they need. Indeed, if no module requests a specific mission data category, the data is not transferred from the distribution server to the MCD to reduce the network traffic. Unnecessarily registering for mission data would prevent this. 4 Epfl.SwissCube.GroundSegment.Mcs.Distribution.LiveDistributionClient in Mcs.Distribution.Client.dll

Page : 10 of 16 Figure 4 - LiveDistributionClient class

Page : 11 of 16 4 ACCESSING ARCHIVE DISTRIBUTION The modules can access the archive distribution to access all the mission data. To do that, the modules can create an instance of the ArchiveDistributionClient 5 class. Figure 5 shows an example. using(archivedistributionclient client = new ArchiveDistributionClient()) { var values = client.channel.gethousekeepingparameterslastvalue(spacecraftid); //... } Figure 5 - Accessing the archive distribution Figure 6 shows the definition of the IArchiveDistribution and the archive data distribution interfaces implemented by the ArchiveDistributionClient's channel. 5 Epfl.SwissCube.GroundSegment.Mcs.Distribution.ArchiveDistributionClient in Mcs.Distribution.Client.dll

Page : 12 of 16 Figure 6 - IArchiveDistribution and archived data distribution interfaces

Page : 13 of 16 5 CONFIGURING THE MDC TO LOAD MODULES To instruct the MDC to load a module, its configuration shall be updated. The configuration file is the XML file named Mission Data Client.exe.config and located in the installation directory of the MDC. An XML element matching the following format must be added to the clientmodules section: <add name="unique-name" title="displayed Title" islive="true false" type="assembly-qualified-type-name" argument="argument to IActionModule" /> Attributes description: name title islive type argument Unique name given to the module. Each module must have a unique name. As the name can be used for example to automatically launch a module at MDC's start-up, it is recommended not to use spaces or any special characters in its name. Displayed title for the module in the MDC's main window and in the title of the module's window (if applicable). Boolean value (true or false) that indicate in which category the module must be placed in the MDC's main window. Assembly-qualified name 6 of the module's type (implementing IActionModule interface and/or deriving from FrameworkElement). Argument string passed to the IActionModule.PerformAction method when the module implement the IActionModule interface (see chapter 1 IActionModule ). Here is an example of the clientmodules section configured to load two modules: <clientmodules> <add name="imageservice" title="image Service" islive="true" type="swisscube.imageservice.imageserviceviewer, ImageService.ClientModule" /> <add name="launchnotepad" title="launch Notepad" type="programlaunchermodule" argument="notepad" /> </clientmodules> Figure 7 - Example of clientmodules configuration section with two client modules 6.NET Framework assembly-qualified type names: http://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname.aspx

Page : 14 of 16 6 CUSTOM REPORTING DATA Processing modules can generate data for a non-built onboard service, for mission-specific onboard services or even data specific to the module itself. This data can be stored for archiving and/or sent to clients through the Live Distribution. In complement, distribution modules retrieve this archived data on demand to make it available to clients. This data is called Custom Reporting Data (CRD) in the MCS. CRD is always exposed and transferred in the form of instances of the CustomReportingData class 7. This class, as shown in Figure 8, is a simple container pairing the data and the data type and subtype. The data must be binary-serializeable (convertible to a byte array). Two static methods to serialize and deserialize data are present to provide a default binary serialization mechanism based on the.net Framework's DataContractSerializer 8. Any other reversible [on the client-side] mechanism resulting in a byte array can be used instead. A data type is similar to a service type of a PUS services in [N1]. For consistency, it is recommended that the data type used by the processing and distribution modules is the same as the PUS service generating the data. For example, if the spacecraft implement a mission-specific service type 128 that generate images, the modules would expose the images and associated data as data type 128. Subtypes can be freely used for the different subtypes of data generated/stored. For example, in the case the service generating images, there could a subtype for the images themselves, for the metadata, for a summary of the transmitted images, etc. Figure 8 - CustomReportingData class CRD can be received from the live distribution through the CustomReportingDataReceived event of the LiveDistributionClient instance and through the GetCustomReportingData method of the ArchiveDistributionClient 's channel. 7 Epfl.SwissCube.GroundSegment.Mcs.Distribution.CustomReportingData in Mcs.Data.Downlink.dll 8 DataContractSerializer: http://msdn.microsoft.com/en-us/library/ms405768.aspx

Page : 15 of 16 7 FIGURES AND TABLES Figure 1 - The MCS and MCS extensibility architecture... 5 Figure 2 - IActionModule interface... 7 Figure 3 - Retrieving the LiveDistributionClient instance example... 9 Figure 4 - LiveDistributionClient class... 10 Figure 5 - Accessing the archive distribution... 11 Figure 6 - IArchiveDistribution and archived data distribution interfaces... 12 Figure 7 - Example of clientmodules configuration section with two client modules... 13 Figure 8 - CustomReportingData class... 14

Page : 16 of 16 8 REFERENCES [N1] [N2] ECSS-E-70-41A Ground systems and operations - Telemetry and telecommand packet utilization. 30 January 2003. SC-ICD-1-0-MCS_Extensibility Mission Control System Extensibility User Guide