2 SSM (1) SSM (2) SSM ('Jffi) SSM SSM SSM (3) SSM SSM 12 ...
Space Plug-and-Play Architecture (SPA) and SSM
description
Transcript of Space Plug-and-Play Architecture (SPA) and SSM
Space Plug-and-Play Architecture (SPA) and SSM
Introduction
SPA implements a self-configuration Publish/Subscribe methodologyComputer-negotiated interfaces permit the elements of a complex system to interoperate without the need of traditional interface control documentsSPA processing sequence:
1. Network discovery and configuration2. Component registration (Publish)3. Component queries4. Component subscriptions (Subscribe)
Introduction
Accelerates the development and integration process by reducing or eliminating error-prone human interpretationStandards based
SPA standards submitted to AIAAProvides a contract between component providers that if their component is SPA compliant they can expect full interoperability on a SPA system
Software Architecture
Non-SPA Applications
Board Support Package
Operating System and System Services
Libraries
Platform Abstraction Library
SPA MiddlewareCore
LibrariesCore
ServicesSubnet
Management
SPA API
SPA Applications
Software Architecture
SPA MiddlewareSoftware required in order to support SPA infrastructure and functionalityOpen source SPA middleware reference implementation provided by AFRL - SPA Services Manager (SSM)SSM Target Architectures
VxWorks 6.x using Real Time Processes (RTPs), Linux 2.6.x, and Windows XP and 7Design uses a Platform Abstraction Layer (PAL) to ease port to other platforms
Software Architecture
SPA Middleware Core ServicesDiscovery and addressing service
Network topology discovery, component discovery, and component addressing methodology
Publication serviceComponent registration, re-registration, deregistration
Query serviceQuery methodology in order to identify components that provide required data consumption and/or functionality
Subscription serviceMethodology to subscribe and unsubscribe to required data and/or functionality
Software Architecture
SPA Middleware Core Services cont.System status monitoring service
Methodology to monitor overall SPA system status and provide appropriate response to SPA system anomalies
SPA Middleware Core LibrariesA Collection of commonly used SPA functions, constants, classes, utilities, etc that provide basic functionality to perform several SPA tasksDynamically or statically linkable
Software Architecture
SPA Middleware Subnet ManagementSubnet management for multiple heterogeneous subnets. For example, SpaceWire (SM-S), USB (SM-U), I2C (SM-1), etc. Provides interoperability between different types of SPA subnets
Example SPA System
SPA Network
SPA Processor Resource
SPA Core Component
SPA Application
R1
SM-SSM-L
SM-S
SM-L
CAS
SPA PR1 SPA PR2LS
R2 R3
SM-S
SPA Router
SPA-S Device
SPA-U Device
SPA-1 Device
SM-U SM-1
SPA PR3
SM-SA1 A2A3 A4
A3SM-L
Software Architecture
PhysicalMedia, signal and binary
transmission
Data LinkPhysical addressing
NetworkPath determination and logical
addressing
TransportEnd-to-end connection and
reliability
ApplicationData, application-to-application
communication
SPA-X ProtocolsSPA-S, SPA-U, etc
SPA Subnet Managers
SPA Messaging Interface
Applications & Devices
I2C, USB, SpaceWire, Sockets
OSI Model SPA Model
Software Architecture
Platform Abstraction LibraryAbstracts OS and architecture differences
Threading, semaphores, file I/O, timing, XML parsing, etcCode modifications needed to port to a specific OS should only happen inside this platform specific library
SPA Application Programming Interface (API) Defines a standard programming interface which allows a software application to interoperate with other software applications or devicesCould be used to abstract different PnP middleware implantations
SPA Services Manager
Computer-negotiated Interfaces
Extended Transducer Electronic Data Sheet (xTEDS)Contains a complete interface description of a SPA component
Component-specific service requestComponent-specific service request repliesCommandsData messages
eXtensible Markup Language (XML) basedSchema controlled
Common Data Dictionary
A universal dictionary of terms, names, definitions, qualifiers, units, scales, formats, interfaces, etc.Available as a standard referenceA living document
Appliqué Sensor Interface Module (ASIM)
Provides SPA interface to a legacy or simple device Pre-programmed to support SPA messaging, xTEDS registration, and Subscription/Publishing.SM-S (SpaceWire) ASIMs are currently available
SM_U (USB), SM-1 (I^2C), and SM-C (CAN) ASIMs are currently being developed
Validation - Component
Use SPA Test Suite (SPATS) to validate SPA core components against Standards documents.SPATS will test each component in isolation (the Unit-Under-Test or UUT), simulating the non-UUT components in a protocol exchangeVerifies protocols and message formats are followedHardware support required for SM-X and SPA Device SPATS testing
SPATS• Java GUI and core code• Suite of SpatsTests• Match SpatsTests to UUT Component Type• Each SpatsTest exercises set of protocols• SPATS verifies protocol content, sequence,
and messages are correct
CAS
SM-L
LS
SM-S
SM-1
SM-U
Components to test as UUT
SPA Application
SM-S ASIM / Component
SM-U ASIM / Component
SM-1 ASIM / Component
With Hardware SupportOn System w IP
CubeFlow Tools
Creating SPA software can be more complicated than creating traditional software.
xTEDS – Not many people are used to handcrafting XMLASIM – ASIM protocol is a different way of thinking about embedded softwarePnP Flight Software using standard interface and data centric publish/subscribe paradigm
CubeFlow tools automate many common SPA software development requirements
Open source web based tool suite
CubeFlow Tools
xTEDS DeveloperAssists a user in creating and maintaining xTEDS through a UI without requiring full XML knowledge
CubeFlow Tools
ASIM WizardAids creation of ASIM code for supported platforms by generating the code templates that match the selected xTEDS
CubeFlow Tools
App WizardAids creation of SPA application templates that will utilize a given device kind, as specified through the selected xTEDS
Common Data Dictionary Tool
Common Data Dictionary (CDD) ToolUsed to manage and define the Common Data Dictionary
CubeFlow Training Courses & Development Kits
SDL and COSMIAC have developed a training course including hardware / software to introduce SPA conceptsDevelopment kit contains all the items needed to develop xTEDs, ASIMs, and applications, and test their functionality
CubeFlow Training Courses & Development Kits
As of Dec 2010 there are 343 registered users on the CubeFlow siteOver 500 individuals trained from 100+ organizations including:
NASALockheedBoeingNROORSUniversities