cFS Systems Technology Roadmap

Slides:



Advertisements
Similar presentations
CESG, Fall 2011, 5 th November 2011 Stuart Fowell, SciSys Device Virtualisation and Electronic Data Sheets.
Advertisements

CCSDS XML Telemetric and Command Exchange (XTCE)
November 2011 At A Glance GREAT is a flexible & highly portable set of mission operations analysis tools that increases the operational value of ground.
Exemplar CFS Architecture
31 st October – 4 th November 2011 Fall 2011 Meeting Agenda Boulder, Colorado, USA SOIS Application Support Services WG Conclusions & Actions.
05 October 2015 Peter Mendham The SpaceWire-PnP Protocol: Status and Relationship with SOIS.
System Engineering Area SANA BoF Kick-Off 12 May 2004 Peter Shames NASA/JPL.
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,
ONE Concept. ONE Work area & lab setup ONE Goals Provide single network interface regardless of physical link Provide reliable, isochronous message transport.
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
SOIS APP Working Group Overview. Presentation Overview Application Support Services Electronic Datasheets ESA Project History and Plans Standards Documentation.
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Overview of SOIS Electronic Data Sheets (EDS) & Dictionary of Terms (DoT) SOIS APP WG Fall 2012.
SOIS EDS and Onboard Architectures. ESA ‘de-facto’ Architecture PUS Services Mission Applications Data Handling PUS TM/TC Internal Datapool API System.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
1 SOIS P&P input. 2 Introdcution As part of the work to standardise onboard communication services, the CCSDS SOIS WG has recently delivered new draft.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
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.
07-Apr-2014-cesg-1 Jonathan Wilmot (WG Chair) Ramon Krosley (DWG Chair) SPACECRAFT ONBOARD INTERFACES SERVICES (SOIS) AREA APP WG.
Software Systems Division (TEC-SW) ASSERT process & toolchain Maxime Perrotin, ESA.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Spacecraft Onboard Interface Services Application Support Services Working Group (SOIS-APP WG) CCSDS Spring 2013 Meeting.
1 1 National Aeronautics and Space Administration Future Products & Technology The Johns Hopkins University Applied Physics Laboratory Core Flight Software.
CFS Use at Goddard The Johns Hopkins University Applied Physics Laboratory core Flight Software System Workshop October 26, 2015 Alan Cudmore – NASA Goddard.
NASA MSFC Mission Operations Laboratory MSFC NASA MSFC Mission Operations Laboratory Kelvin Nichols, EO50 March 2016 MSFC ISS DTN Project Status.
cFS Platforms OSAL and PSP
Android Mobile Application Development
Space Plug-and-Play Architecture (SPA) and SSM
cFS Workshop Ground Systems & Kits
System Engineering Area SANA BoF Kick-Off
Generic Remote Interface Unit (RIU) Interface Control Document (ICD)
Simulink Interface Layer (SIL)
SOIS APP Working Group Overview
EDS Demo SOIS WG Autumn 2016.
Prototyping of CCSDS SOIS services on 1553 Bus
OSAL and PSP Inventory and Status
Open Source Software Product Status
Code Generation from SEDS
cFE FSW at APL & FSW Reusability
Exemplar CFS Architecture
Overview of SOIS Electronic Data Sheets (EDS) & Dictionary of Terms (DoT) SOIS APP WG Fall 2012.
SPACECRAFT ONBOARD INTERFACES SERVICES
ITEA3 Project: ACOSAR Advanced Co-Simulation Open System Architecture
Sabri Kızanlık Ural Emekçi
Cross Platform Development using Software Matrix
Systems Architecture WG: Charter and Work Plan
Add intro to concept of electronic data sheets
TECH SESSION #1 STANDARDS AND BUILD TOOLS
SOIS-APP Working Group Report Jonathan Wilmot (WG Chair)
Spring CCSDS meetings Opening Plenary
Bundle Protocol Specification
TECH SESSION #1 ELECTRONIC DATA SHEETS
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Using Electronic Datasheet for Testing
ROAD MAP OF THE CCSDS ARCHITECTURE WORKING GROUP (AWG)
SPACECRAFT ONBOARD INTERFACES SERVICES
SPACECRAFT ONBOARD INTERFACES SERVICES
CFS Community Day Core Flight System Command and Data Dictionary Utility December 4, 2017 NASA JSC/Kevin McCluney December 4, 2017.
Core Flight System Software Bus Networking Application Design As Built
Integrating CCSDS Electronic Data Sheets into Flight Software
Study of Tools for Command and Telemetry Dictionaries
Simulink Interface Layer (SIL) – Overview and Future
Adam Schlesinger NASA - JSC October 30, 2013
cFS Community Day Platform Technology Roadmap
and Device Interfaces from CCSDS Electronic Data Sheets
Advanced Exploration Systems (AES) Core Flight Software (CFS) Project
cFS Workshop Program Management
NASA/ Johnson Space Center
GSFC cFS Product Status
Presentation transcript:

cFS Systems Technology Roadmap The Johns Hopkins University Applied Physics Laboratory core Flight System Workshop Jonathan Wilmot December 04, 2017

Near Term Roadmap Activities From the 2015 workshop Increasing the message name space (6.6 build option) Electronic Data Sheets (6.6 build option) Software Bus Network (Covered later by Chris Knight) Multicore (Partial implementation in 6.6) Modeling/autocode (Covered later Pat Castle, Steve Lentine) Real-time Linux (Demonstrated on Xenomai) Partitioning (Demonstrated on ARINC 653 and Xenomai) Cmake build environment (covered later by Joe Hickey) New activities Onboard file transfer Revamp Time services Time triggered Scheduling 64 bit implementation

Increasing the message name space

Extending the CCSDS Message Header cFS uses CCSDS Space Packet Protocol format for onboard messages In cFE 6.6, projects can turn on and additional 32 bits to the CCSDS Space Packet secondary header to increase the name space Increasing the potential APID name space from 212 to 237 For practical/efficiency reasons cFS will limit to 232 Changes are isolated to cFS SB and SBN Applications subscribe to a 32 bit number instead of 16bit number Change is transparent to applications after a recompile Near term infusion GSFC Restore Servicing Payload mission(s) (Distributed system with 16 processors) AES Habitat prototyping efforts Other missions?

Proposed Updates to CCSDS SPP

cFE 6.6 Implementation The MsgId is a mission defined message identifier to publish or subscribe to Must be unique within the system(s). CFE_SB_MsgId_t is a uint32 that can be created from any combination of bits from the primary header SID (StreamId) and the secondary header APID Qualifiers Define MESSAGE_FORMAT_IS_CCSDS_VER_2 in cfe_mission_cfg.h As defined in cfe_sb_msg_id_util.h/c the default setup will combine 1 bit for the command/telemetry flag 7 bits from the primary header APID 0 bits from the Playback flag 8 bits from the secondary header APID qualifier (Subsystem) 0 bits from the secondary header APID qualifier as the System The APID qualifier System field is populated with the Spacecraft ID but will be ignored in the default case for SB/SBN routing purposes

Updated cFS Message ID Terms StreamId First 16 bits of CCSDS Space Packet Protocol (SPP) 133.0-B.1c2 Blue Book packet primary header. It contains the 3 bit Version Number, 1 bit Packet Type ID, 1 bit Secondary Header flag, and 11 bit Application Process ID. It was used in earlier cFS implementations and defined here for historical reference. It is NOT exposed to user applications MsgId Unique numeric message identifier within a mission namespace. It is used by cFS applications to the identify messages for publishing and subscribing It is used by the SB API and encoded in a mission defended way in the header of all cFS messages. It is exposed to all cFS applications ApId CCSDS Application Process Id field in the primary header. It has default bit mask of 0x07FF and is part of the cFS message Id It should not be confused with the cFE Executive Services (ES) term appId which identifies the software application/component. It is NOT exposed to user applications MsgIdkey This is a unique numeric key within a mission namespace that is used with cFS software bus internal structures. It is algorithmically created in a mission defined way from the MsgId to support efficient lookup and mapping implementations It is NOT exposed to user applications

ACS sensor data created on on habitat Name Space ACS sensor data created on on habitat ACS sensor data read on crew vehicle Applications need to know the data format and what system the data came from: Habitat.GNC.sensorData Issue: what should the ground/user interface look like?

CCSDS Status CCSDS Space Link Protocols Working Group (SLS-SLP) has agreed to address the issue in 2018 White paper discussing issues and proposed solution due March 2018 Authors: Jonathan Wilmot (GSFC), Scott Burleigh (JPL), Keith Scott (MITRE) Work will be done in two phases Update the Space Packet blue book to clarify APID Qualifier and Logical Data Plath concepts Update or issue new blue book on APID name space extensions

Electronic Data Sheets

Electronic Data Sheet Definition An Electronic Data Sheet (EDS) is a formal specification of a device, system, or software interface in a machine readable format Unambiguous and machine verifiable specification Delivered with the device, system, or software It is not an Interface Control Document (ICD) in that it does not specify how a system or mission will use the device or software EDS specifies black box view of interfaces Data formats, conversions, limits, exchange protocols, and state machines, … A CCSDS Spacecraft Onboard Interface Services (SOIS) EDS (SEDS) is an EDS defined using the SOIS Dictionary of Terms and the SOIS EDS XML schema Electronic Data Sheets and Common Dictionary of Terms - Overview and Rationale (Green 870.1) XML Specification for Electronic Data Sheets for Onboard Devices and Software Components (Magenta 876.0) Specification for Dictionary of Terms for Electronic Data Sheets for Onboard Components (Blue 876.1) SEDS schema and dictionary of terms are keep in SPACE ASSIGNED NUMBER AUTHORITY(SANA) REGISTRY http://sanaregistry.org/r/sois/sois.html Provides a standard to exchange system, device and software interface definitions between organizations and agencies

Device and Software Component EDS Star trackers Thrusters Sun sensors EDS EDS EDS EDS EDS EDS Software tools Vision: device manufactures provide an EDS with each component

EDS Is In Reference To What? An EDS is in reference to the “on the wire” spec from the point of view of the publisher A CFS Component EDS is written in terms of Big (Network) Endianness Run-time tools used to convert to other architectures Big Endian System EDS Software Component EDS Software Component Network interface EDS Software Component EDS Converter Big Endian System Little Endian System

cFS Software Component Each cFS component will have an associated SEDS Include in next release(6.6) of cFE and selected applications SEDS specifies the data formats, conversions, limits, commands, telemetry, and exchange protocols in terms of the cFS Software Bus Protocols are in terms of command and response state machines The SEDS will be included in the component directory structure and be Configuration Managed with the component EDS Software Component

Integrating EDS wth cmake APIDs for all subsystems are defined in one mission XML file Likely to be generated from tools The APIDs numbers are arbitrary and only represent a mission wide topic handle cmake is set up to generate all of the APID header files prior to compiling the source code cmake can be set up to generate the “as deployed” mission EDS which is imported into the database tools ITOS, ASIST, COSMOS… Integration with JSC CCDD tool is in progress cmake can also be used to generate and allocate other cFS system wide identifiers such as Performance ID

Sample Mission APID Definition File <DataSheet xmlns="http://www.ccsds.org/schema/sois/seds"> <Namespace name="MISSION" shortDescription="Definitions and Data Types for the CFE Project/Mission"> <!-- Mission-specific mappings for CFE "topic IDs" (further embedded within CCSDS APID) --> <Define name="CFE_ES_CMD_TOPICID" value="6" /> <Define name="CFE_ES_SEND_HK_TOPICID" value="8" /> <Define name="CFE_ES_HK_TLM_TOPICID" value="0" /> <Define name="CFE_ES_APP_TLM_TOPICID" value="11" /> <Define name="CFE_ES_SHELL_TLM_TOPICID" value="15" /> <Define name="CFE_ES_MEMSTATS_TLM_TOPICID" value="16" /> … <Define name="CFE_TBL_CMD_TOPICID" value="4" /> <Define name="CFE_TBL_SEND_HK_TOPICID" value="12" /> <Define name="CFE_TBL_HK_TLM_TOPICID" value="4" /> <Define name="CFE_TBL_REG_TLM_TOPICID" value="12" /> <!-- Constants used throught all commands and telemetry --> <Define name="SIGNED_INTEGER_ENCODING" value="twosComplement" /> <Define name="TELEMETRY_TIMESTAMP_SIZE" value="6" /> <DataTypeSet> <!-- Commonly used string types in all CFE/cFS messages --> <StringDataType name="ApiName" length="CONFIG/CFE_MSG_MAX_API_LEN" /> <StringDataType name="PathName" length="CONFIG/CFE_MSG_MAX_PATH_LEN" /> <!-- CPU memory addresses in messages can be either 32 or 64 bits. This depends on specific CPUs in use, but it should be consistent across all cpus. --> <IntegerDataType name="CpuAddress" shortDescription="CPU memory address"> <IntegerDataEncoding sizeInBits="64" encoding="unsigned" /> </IntegerDataType> </DataTypeSet> </Namespace> </DataSheet>

Components and Build Time Parameters Each device and software component includes an associated SEDS SEDS specifies the data formats, conversions, limits, commands, telemetry, and exchange protocols in terms of the message bus and/or hardware interface Some parameter values in the message packet EDS are determined at build time The original component EDS author does not know these values Values are defined in mission deployment files The values will be set by a tool that reads the mission files and creates a software component header file at build time The EDS Schema has mechanisms for this EDS Hardware device Hardware Component EDS Library Software Component Tools Mission Configuration Control center

Existing and Upcoming/proposed Tools Flight Software C headers ITOS Database ESA TASTE Models LUA Scripts Device Drivers JSC Cmd/Tlm CCDDT COSMOS Database EDS Component tests ASIST Database ITOS Page Displays XTCE Models Based Systems Engineering tools JSON demonstrated Simulink Data interfaces Onboard Control Procedures Proposed

Multicore cFE 6.6 includes SMP safe updates PACE mission is adding support for dual core LEON High Performance Space Computing (HPSC)Joint NASA USAF effort to create game changing radiation hardened space processor 8 core chiplet approach ARM A53 with internal NEON SIMD Includes hardware support for partitions with fault containment FY18 – FY21 funding for software middleware/framework development at NASA centers cFS support and porting Need Executive Service updates Startup script updates OSAL updates Processor affinity

Time triggered Scheduling Ongoing effort at JSC to align software application scheduling with network scheduling Time-Triggered Ethernet schedule (TTTech TTGbE) New scheduler app has been created Application code unmodified Andrew Loveless (JSC) is primary contact Potential for CCSDS EDS with timing and schedule additions

Real-time Linux Xenomai Real-time Linux Funded by AES Prototype demonstrated in FY2017 Effort continuing in FY18 at JSC

Partitioning JSC effort with ARINC-653 JSC effort with Linux Xenomai Demonstration completed in 2016 as part of AES project JSC effort with Linux Xenomai Demonstrated simple two partition system Hard real-time and science application Included as part of HPSC project

Onboard file transfer Transfer files on board Ongoing effort at GSFC Not intended to replace CCSDS CFDP space/ground protocol Ongoing effort at GSFC Baseline being used on satellite servicing mission Working toward full Class B implementation TFTP based on RFC 1350 with updates Option extension (RFC 2347). block size option (RFC 2348). timeout interval option (RFC 2349). transfer size option (RFC 2349).

64 bit Support 64 bit cFS implementation Potentially needed for HPSC (64bit ARM processors) Impacts most cFE core services Significant development and test effort, timeframe TBD Partitioning my mitigate near term need (32bit within a partition) What are the near term project needs?

Revamp Time services Simplify interfaces Reduce configuration options Remove unused heritage options Add Time-Triggered interface(?)