SPA_and_SSM

advertisement
Space Plug-and-Play Architecture
(SPA) and SSM
Introduction
SPA implements a self-configuration Publish/Subscribe
methodology
Computer-negotiated interfaces permit the elements of a
complex system to interoperate without the need of traditional
interface control documents
SPA processing sequence:
1. Network discovery and configuration
2. Component registration (Publish)
3. Component queries
4. Component subscriptions (Subscribe)
Introduction
Accelerates the development and integration process by
reducing or eliminating error-prone human interpretation
Standards based
SPA standards submitted to AIAA
Provides a contract between component providers that if
their component is SPA compliant they can expect full
interoperability on a SPA system
Software Architecture
SPA Applications
Non-SPA
Applications
SPA API
SPA Middleware
Core
Libraries
Core
Services
Subnet
Management
Platform Abstraction Library
Libraries
Operating System and System Services
Board Support Package
Software Architecture
SPA Middleware
Software required in order to support SPA infrastructure
and functionality
Open 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 7
Design uses a Platform Abstraction Layer (PAL) to ease
port to other platforms
Software Architecture
SPA Middleware Core Services
Discovery and addressing service
Network topology discovery, component discovery, and
component addressing methodology
Publication service
Component registration, re-registration, deregistration
Query service
Query methodology in order to identify components that
provide required data consumption and/or functionality
Subscription service
Methodology 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 Libraries
A Collection of commonly used SPA functions, constants,
classes, utilities, etc that provide basic functionality to
perform several SPA tasks
Dynamically or statically linkable
Software Architecture
SPA Middleware Subnet Management
Subnet 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
LS
SPA PR1
SM-S
CAS
SM-L
SM-U
A2
A1
SM-L
SPA PR3
A3
A3
SPA PR2
SM-S
A4
SM-L
SM-S
SM-S
SM-1
R1
R2
SPA Network
SPA Router
SPA Processor Resource
SPA-S Device
SPA Core Component
SPA-U Device
SPA Application
SPA-1 Device
R3
Software Architecture
OSI Model
SPA Model
Application
Applications &
Devices
Data, application-to-application
communication
Transport
End-to-end connection and
reliability
Network
SPA Messaging
Interface
Path determination and logical
addressing
SPA Subnet
Managers
Data Link
SPA-X Protocols
Physical addressing
SPA-S, SPA-U, etc
Physical
I2C, USB, SpaceWire,
Sockets
Media, signal and binary
transmission
Software Architecture
Platform Abstraction Library
Abstracts OS and architecture differences
Threading, semaphores, file I/O, timing, XML parsing, etc
Code 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 devices
Could 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 request
Component-specific service request replies
Commands
Data messages
eXtensible Markup Language (XML) based
Schema controlled
Common Data Dictionary
A universal dictionary of terms, names, definitions, qualifiers,
units, scales, formats, interfaces, etc.
Available as a standard reference
A 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
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
Components to test as UUT
SM-S
SM-S ASIM /
Component
LS
SM-U
SM-U ASIM /
Component
SPA
Application
SM-1
SM-1 ASIM /
Component
CAS
SM-L
On System w IP
With Hardware Support
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 exchange
Verifies protocols and message formats are followed
Hardware support required for SM-X and SPA Device SPATS testing
CubeFlow Tools
Creating SPA software can be more complicated than creating
traditional software.
xTEDS – Not many people are used to handcrafting XML
ASIM – ASIM protocol is a different way of thinking about embedded
software
PnP 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 Developer
Assists a user in creating and maintaining xTEDS through a UI without
requiring full XML knowledge
CubeFlow Tools
ASIM Wizard
Aids creation of ASIM code for supported platforms by generating the
code templates that match the selected xTEDS
CubeFlow Tools
App Wizard
Aids 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) Tool
Used 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 concepts
Development 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 site
Over 500 individuals trained from 100+ organizations
including:
NASA
Lockheed
Boeing
NRO
ORS
Universities
Download