Spacecraft Monitor and Control Protocol CCSDS SM&C Working Group Amalaye Oyake NASA/JPL April-2005.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

COM vs. CORBA.
Chapter 5: TCP/IP and OSI Business Data Communications, 5e.
Folie 1 Service Oriented Architecture - Prototyping study - DLR/GSOC Author: S.Gully.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Understand Web Services
Protocols and the TCP/IP Suite
OSI Model.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
EE 4272Spring, 2003 EE4272: Computer Networks Instructor: Tricia Chigan Dept.: Elec. & Comp. Eng. Spring, 2003.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
ESA UNCLASSIFIED – For Official Use Deterministic Communication with SpaceWire Martin Suess CCSDS Spring Meeting /03/2015.
Software – Part 3 V.T. Raja, Ph.D., Information Management College of Business Oregon State University.
Chapter 2 Network Models.
September 2011 At A Glance The API provides a common interface to the GMSEC software information bus. Benefits Isolates both complexity of applications.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Communicating over the Network Network Fundamentals – Chapter 2.
Chapter 5: TCP/IP and OSI Business Data Communications, 6e.
Lecture slides prepared for “Business Data Communications”, 7/e, by William Stallings and Tom Case, Chapter 8 “TCP/IP”.
Exemplar CFS Architecture
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
CCSDS Message Bus Comparison Shames, Barkley, Burleigh, Cooper, Haddow 28 Oct 2010.
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
Framework: ISA-95 WG We are here User cases Studies
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Protocols and the TCP/IP Suite
An Introduction to Software Architecture
RTS Meeting 8th July 2009 Introduction Middleware AUTOSAR Conclusion.
POAD Distributed System Case Study: A Medical Informatics System Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
PS, et al Page 1 CCSDS System Engineering Area (SEA) INTERPLANETARY NETWORK AND INFORMATION SYSTEMS DIRECTORATE 10 May 2004 System Engineering Area - System.
June 2004 SIW-4 - IP in Space Implementation Guide 1 Handbook for Using IP Protocols for Space Missions James Rash - NASA/GSFC Keith Hogie, Ed Criscuolo,
SOIS at Design Net Approaching Reusability in Flight Software.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
ESA UNCLASSIFIED – For Official Use SOIS Evaluation by the Primes F. Torelli (ESA) Software Reference Architecture - Focus on the Execution Platform ADCSS.
Application Layer Security Mike Pajevski (NASA/JPL) April 2009.
William Stallings Data and Computer Communications
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Real-Time Systems Presented by: Stuart D Fowell CCSDS Time Critical Onboard Application Services Stuart D. Fowell, Keith L. Scott, Chris.
An Introduction to Networking
NETWORKING FUNDAMENTALS. Network+ Guide to Networks, 4e2.
1 UML Modeling of Spacecraft Onboard Instruments Takahiro Yamada, JAXA/ISAS April 2005.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
REST By: Vishwanath Vineet.
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
Djc -1 Daniel J. Crichton NASA/JPL 9 May 2006 CCSDS Information Architecture Working Group.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Chapter : 9 Architectural Design
Slide 1 2/22/2016 Policy-Based Management With SNMP SNMPCONF Working Group - Interim Meeting May 2000 Jon Saperia.
COMPUTER NETWORK AND DESIGN CSCI 3385K. Host-to-Host Communications Model Older model Proprietary Application and combinations software controlled by.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Systems Architecture WG: Report of the Spring 2005 Meeting April 14, 2005 Takahiro Yamada, JAXA/ISAS.
LonWorks Introduction Hwayoung Chae.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Enabling Grids for E-sciencE Agreement-based Workload and Resource Management Tiziana Ferrari, Elisabetta Ronchieri Mar 30-31, 2006.
Layered Architectures
CCSDS Message Bus Comparison
Integrating CCSDS Electronic Data Sheets into Flight Software
Protocols and the TCP/IP Suite
An Introduction to Software Architecture
Protocols and the TCP/IP Suite
Chapter 13: I/O Systems.
LEARNING COMPUTER NETWORKS OSI Model (layers). Why a layered model?  Easier to teach communication process.  Speeds development, changes in one layer.
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Spacecraft Monitor and Control Protocol CCSDS SM&C Working Group Amalaye Oyake NASA/JPL April-2005

A. Oyake - 2 APRIL 14th 2005 Success Criteria Complete CCSDS Red Book - June, 2005 Interest within JPL as a Mission Operation Methodology Complete Protocol Specification Successful Protocol Demonstration - June, 2005

A. Oyake - 3 APRIL 14th 2005 Planned Products Complete Protocol Specification Red Book Current Status: Still draft, but progressing … currently not as polished as I would like BUT, there are many open issues and the document reflects this. Open issues (target- controller description, onboard enablers) are being ironed out via discussions with T. Yamada, S. Burleigh and A. Vaughs. Onboard demonstration - Prototype Everyone is talking about prototyping these days, so this is a good thing. Current Status: Was examining VxWorks prototype, but I have had problems with the vendor supplied 1394 card. I am using an in-house MTS implementation instead.

A. Oyake - 4 APRIL 14th 2005 Introduction This presentation outlines the proposed Spacecraft Monitor and Control Protocol to be used as the basis for end-to-end Spacecraft Monitor and Control (SM&C). The Spacecraft Monitor and Control Protocol defines only the syntax and semantics for SM&C messages. It is an application layer protocol that leverages overlying space protocols (SLE, AMS, etc). Monitor and Control systems are a general class of applications and that follow a consistent set of design patterns and operations. We present a view of the common monitor and control pattern and then demonstrate how it may be applied in space operations.

A. Oyake - 5 APRIL 14th 2005 Monitor & Control Elements Monitor & Control (M&C) is performed by a string (or a network) of elements. These elements are not necessarily physically separated. A typical example is: Spacecraft Control Center Central Data Handling Payload Processor Device Ground

A. Oyake - 6 APRIL 14th 2005 Controller and Target Pattern In the string, each pair of adjacent elements can be modelled using the controller and target pattern. Controller - The element that controls and monitors the target. Target - The element that is controlled and monitored by the controller. A controller can be a ground control system, an onboard data handling subsystem, or a processor of a payload/subsystem. A target can be a device, a subsystem, or even an entire spacecraft. The pattern can be applied recursively. Controller Target Control Monitor

A. Oyake - 7 APRIL 14th 2005 Standard for Describing Targets There should be a standard way of describing the interfaces of targets and controllers. Protocol messages should be exchanged at the interface boundary. There should be a standard method for describing the characteristics of targets (which may be spacecraft, subsystems, processors or devices) as objects, abstracting those characteristics that are relevant to monitor and control. In order to develop such a method, there should be a model for characterizing the behavior of targets (including interactions of the objects with controllers).

A. Oyake - 8 APRIL 14th 2005 Standard for Describing Controllers Controllers should also be described as objects using the same method for describing targets, if they are controlled by other controllers higher in the control architecture. Observatio n Controller Spacecraft Target/ Instrument Controller Control Monitor Instrument Target / Component Controller Control Monitor

A. Oyake - 9 APRIL 14th 2005 Describing Targets and Controllers The method to describe targets and controllers is an open technical issue, but the ideas (CNES, JAXA, JPL) are along the same line. CNES ODISSE describes how to describe instruments using UML state diagrams. Subsystems and Instrument are described with class or object diagrams and behavior is described with UML Statechart diagrams. JAXA (Takahiro Yamada) is using UML to model instruments for the Bepi-Colombo mission. JPL is interested in UML and XML schemes similar to the Fieldbus and IEEE UML can be converted to XMI (which is XML).

A. Oyake - 10 APRIL 14th 2005 Device Virtualization is fundamentally about representation of device characteristics and the propagation of this information. We are primarily concerned with device metadata, and its propagation. Specifically an extensible metadata model, to represent attributes, commands, events, units and other interesting data. Metadata may be embedded in the device, e.g. EPROM or stored in some device driver and loaded via a table. Standard means of providing device descriptions to support device virtualization are under study at JPL. Describing Targets and Controllers

A. Oyake - 11 APRIL 14th 2005 Describing Targets and Controllers - JPL Behavior described in Function Block Device Template Placeholder Specific device description Standard header information compatible with IEEE 1451

A. Oyake - 12 APRIL 14th 2005 Spacecraft Monitor and Control Protocol Messages Types Send Directive to Target Confirmed or Unconfirmed Immediate, triggered, or timed Read State of Target Confirmed or Unconfirmed Trigger Execution of Target Send Indication to Controller Confirmed or Unconfirmed Send Event to Controller Confirmed or Unconfirmed

A. Oyake - 13 APRIL 14th 2005 REGISTER Allows a Target to register to a named Controller so as to receive updates via events or reports. DEREGISTER Allows a Target to deregister a named Controller so as to stop receiving events SEND_DIRECTIVE Allows a Controller to send a formatted directive to a named Target The Target must understand the directive. The directive may have associated with it attributes related to its execution such as Execution Time (immediate, relative, or absolute) Response required (uplink, acceptance, start, success, etc). Confirmed or Unconfirmed With argument EXECUTE, trigger the execution of a named Target GET_STATE (Added to complement SET_STATE) Allows a Controller to read the state of a named Target The directive may have associated with it attributes related to its execution such as Execution Time (immediate, relative, or absolute) Confirmed or Unconfirmed Spacecraft Monitor and Control Protocol Messages >

A. Oyake - 14 APRIL 14th 2005 SET_STATE (Added because I recently had to do this to clear a flag on the MARS Rover) Allows a Controller to set a variable in a named Target This is necessary to initialize specific EH&A channels, variables or for setting and clearing flags. SEND_STATE (Added because of feedback stating a REPLY MESSAGE is NOT an EVENT. It is in a sense, but there are 2 distinct meanings and SEND_STATE disambiguates the semantics) Allows a Target to send an reply message event to a Controller The new state is reported to all clients that have registered for the update This is a peer to peer message, where a Target responds directly to a Controller. The directive may have associated with it attributes related to its execution such as Confirmed or Unconfirmed Priority SEND_EVENT Allows a Target to broadcast an event message to a Controller or other Targets. The event may be an asynchronous message, a synchronous event, a time event or a Boolean event. The new state is reported to all clients that have registered for the update The directive may have associated with it attributes related to its execution such as Confirmed or Unconfirmed Priority SEND_REPORT Allows a Target to report a set of changes for one or more items to a Controller. This use case differs from the previous in that it sends a set of changes as a single entity (a report) rather than a set of changes as a set of events that might arrive out of order. Spacecraft Monitor and Control Protocol Messages >

A. Oyake - 15 APRIL 14th 2005 Spacecraft Monitor and Control Message Implementation The specific messages can be implemented in various ways, the Red Book implementations will explore the technical aspects of this. 1. UML state event signals - Encoding the protocol messages as standard pre-defined signals (well understood) REGISTER 02 - DEREGISTER 03 - SEND_DIRECTIVE 2. Content coded messages - Specifically encoding the messages using a content coding scheme. Would need to implement a standard content coding scheme.

A. Oyake - 16 APRIL 14th 2005 Typical SM&C Protocol functions include: Directive management, execution and control Instrument management, command and control Telecom system management and control Software management and control Flight dynamics management and control Storage management and control Sensor & effector management, monitor and control SM&C Protocol functions interface with other onboard functions, including instruments, attitude control service, telecom services, command and data acquisition service, etc. Each class of service will have its own application specific messages that are passed via the SM&C Protocol Service. Spacecraft Monitor and Control Protocol Functions

A. Oyake - 17 APRIL 14th 2005 Standard Protocol between Controllers and Targets The SM&C service protocol may be operated over different underlying communication protocols depending on the location and characteristics of the communications media used for the communications between a controller and a target. For example: Between the ground and a spacecraft, Between the central data handling subsystem and another onboard subsystem, and Between an onboard processor and a device. Standard SM&C protocol isolates Spacecraft M&C Applications from underlying communications protocols Provides standard communication patterns Provides standard control pattern

A. Oyake - 18 APRIL 14th 2005 SM&C Protocol The SM&C protocol aligns with the UML Statechart behavioral model (very specific messages).

A. Oyake - 19 APRIL 14th 2005 SM&C Protocol

A. Oyake - 20 APRIL 14th 2005 Onboard Message Enablers The onboard messaging system should exhibit the following characteristics: Simple API Low overhead Low latency Small “footprint” Thread - safe Portability & reusability across several different platforms Interoperability among different language and OS platforms and over different communication protocols Dynamic handling of connection state and failure modes. Support for strongly typed messages & type safety checking during connection establishment (optional). There is discussion of using AMS as the wire protocol and MTS as the API (Burleigh, Vaughs et al).

A. Oyake - 21 APRIL 14th 2005 Onboard Message Enablers Operating System Messaging Services Pro: Easily implemented. Con: Not feature rich. CORBA Pro: Easily implemented. Con: Code bloat, many active objects holding memory. Message Transfer Service Pro: CCSDS standard, simple API hides complexity. Con: Need draft API ratified AMS Pro: CCSDS draft, feature rich, prototype exists. Con: Need draft ratified and stable implementation. Shared memory schemes Pro: Good solution for passing messages. Con: Need to build custom API to wrap functionality.

A. Oyake - 22 APRIL 14th 2005 Example: SM&C Protocol in AMS PDU SEND_DIRECTIVE…DIRECTIVE:PARAMETERS:TARGET AMS PDU

A. Oyake - 23 APRIL 14th 2005 Issues and Concerns Stimulating interest in standards. Stimulating commercial interest (SLE has had some success in this area). Protocol format over various data links (RF/internet/onboard). Many of these links use domain specific methods see BIG- PICTURE presentation (one pager sent in ). Software implementation should be applicable to FSW. Compatibility with JPL FSW processes. Potential for follow-on work and mission infusion.

A. Oyake - 24 APRIL 14th 2005 > >

A. Oyake - 25 APRIL 14th 2005 SM&C Protocol

A. Oyake - 26 APRIL 14th 2005 Message Transfer Service Major Capabilities Name Space Lookup- to translate a process name to an address/path of some form Connection establishment - to link two or more processes for communication (early/late binding, service negotiation, policies) Synchronization - events, triggers, and asynchronous or synchronous communication Message Delivery- to send or receive messages Message Type - classes of messages that are transferred Transfer Mechanism- control of the transport protocol or link Error Handling - to detect, report, and recover from errors QoS- link performance and management

A. Oyake - 27 APRIL 14th 2005 Message Transfer API Proposed High-Level Functionality Communication Mechanisms Service initiation / termination, authentication Process - Process communication send/receive (two-sided), put/get (one-sided), blocking/non-blocking Multicast / Broadcast - specified set or promiscuous recipients Publish/subscribe - managed delivery of data Callback - event notification and handling Quality of Service Service & connection negotiation, policy management Priority/scheduling/resource management Reliability, determinism, ordering, timeliness Message buffer management (make/free/get/set/init) Error Handling, monitoring, signaling, reporting Group management (joingroup/leavegroup) Derived data types (optional / future) Packing/unpacking (optional / future)

A. Oyake - 28 APRIL 14th 2005 Message Passing API High-Level Functionality - Prototype Communication Mechanisms Service initiation / termination, authentication, name space lookup Process - Process communication send/receive (two-sided), put/get (one-sided), blocking/non-blocking, (trigger, polling) Multicast / Broadcast - specified set or promiscuous recipients Publish/subscribe - managed delivery of data Event notification and handling (Callback ) Quality of Service Service & connection negotiation, policy management Priority/scheduling/resource management Reliability, determinism, ordering, timeliness Message buffer management (make/free/get/set/init) (local) Error Handling, monitoring, reporting (simple) Group management (joingroup/leavegroup) Prototype Subset in bold italic

A. Oyake - 29 APRIL 14th 2005 Message Transfer Service Context Application Layer Interaction Model Message Service API (peer-to-peer) Transport Layer Shared Memory CFDP store & forward Msg = File Msg = DGRM Message Queue PIPEUDP SCPS-TP TCP SCPS-TP Data Link Layer 2. Peer-to-peer P1 P2 3. Pub/Sub P S1 S2 S3 1. Client/server (listen/connect/accept) C1 request response C2 request S response msgInit() bind()/resolve() openChannel() recvMsg()/sendMsg() Proximity 1 memory O.S. Service Space Link (TC & TM) Other Data Link Bus Protocol

A. Oyake - 30 APRIL 14th 2005 Command and Data Acquisition Service C&DA provides access to read data from simple sensors and to write to simple hardware interfaces C&DA provides 3 basic capability sets Device Access Data Product Acquisition Device Virtualization C&DA interfaces with 3 SM&C capability sets Data Monitoring Engineering Unit Conversion Data Aggregation