260 likes | 526 Views
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
E N D
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: • Network discovery and configuration • Component registration (Publish) • Component queries • 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 • SPA Network • SPA Processor Resource • SPA Core Component • SPA Application • SPA Router • SPA-S Device • SPA-U Device • SPA-1 Device SPA PR3 SPA PR1 LS SPA PR2 A3 SM-S SM-S A3 A4 CAS SM-L SM-L A2 A1 SM-S SM-L SM-S SM-U SM-1 R1 R2 R3
Software Architecture OSI Model SPA Model Application Data, application-to-application communication Applications & Devices Transport End-to-end connection and reliability SPA Messaging Interface Network Path determination and logical addressing SPA Subnet Managers Data Link Physical addressing SPA-X Protocols SPA-S, SPA-U, etc Physical Media, signal and binary transmission I2C, USB, SpaceWire, Sockets
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
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 Components to test as UUT • 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 • 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 SM-S ASIM / Component CAS SM-S SM-L SM-U ASIM / Component LS SM-U SPA Application SM-1 ASIM / Component SM-1 On System w IP With Hardware Support
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