Moving Forward with SCA 4.0 Next Generation Middleware


Published on

SCA 4.0 is a major revision of the Software Communications Architecture standard. SCA 4.0 is more scalable, lightweight, and flexible than SCA 2.2.2. and is compatible with radio sizes ranging from small, single channel radios to prime-power, multi-channel sets. Radio Memory and processing power consumption can be reduced significantly and architectural enhancements enable much faster boot-up times and reconfiguration of the radio. It incorporates advances in portability for Digital Signal Processor (DSP) and Field Programmable Gate Array (FPGA) processors and new design patterns for its Application Program Interfaces (APIs).

The SCA 4.0 includes transfer mechanisms to provide standardized client/server operations. Client/server communications may be co-located or distributed across different processors. The transfer mechanism structure may be comprised of object request semantics, transfer and message syntax, and transports.

The SCA 4.0 Appendix E identifies the approved set of platform specific transport and technology mappings, transformations, and model representations used to achieve conformance with the SCA PIM as defined in the main specification.

This presentation will cover:

* What are the goals of SCA 4.0?
* What is SCA 4.0 Appendix E?
* What does the current SCA 4.0 Appendix E say about compliant middleware?
* What CORBA profiles are SCA 4.0 compliant today?
* How and when will PrismTech’s Spectra ORBs middleware support those new profiles?
* What enhancements to the standard will Spectra middleware support?

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Spectra CX Best-in-class SCA developer productivity Spectra CF Best-in-class SCA CF performance and efficient use of available resources Spectra CDB Best-in-class middleware performance available across the radio’s signal processing chain Spectra DTP Best-in-class fully integrated SCA development and test environment, feature set, ease-of-use, price
  • Moving Forward with SCA 4.0 Next Generation Middleware

    1. 1. SCA 4.0 CORBA:“Maximum Performance” Vincent Kovarik, PhD Chief Technology Officer
    2. 2. Background 2 The Software Communications Architecture (SCA) has remained largely unchanged since 2001 when v2.2 was released and the Joint Tactical Radio System (JTRS) program started. SCA 4.0, approved February 2012, represents a radical shift in the approach to specifying the architecture, design and implementation of a software defined radio (SDR). 2
    3. 3. SCA 4.0 Approach 3 The SCA 4.0 specification has been developed following the Model Driven Architecture (MDA) approach The base specification has been developed as a Platform Independent Model (PIM) Appendices define transfer mechanisms to provide co- located or distributed client/server operations. Currently the only transfer mechanism indentified in a Appendix E is based on the Common Object Request Broker Architecture (CORBA) Appendix E-1 defines the CORBA PSM for use with SCA 4.0
    4. 4. SCA 2.2.2 OE and AEP 4 Application Resources CF Interfaces CORBA APIs Core Framework Control, ORB and Services, Devices, and CORBA File access AEP Services Operating SystemSCA 2.2.2 specifies the use of CORBA as the protocol for data transfer and inter-process application function calls.
    5. 5. SCA 4.0 OE and AEP 5SCA products can be realized using a variety of transports and technologies (e.g.CORBA, C++, SOAP, Data Distribution Service (DDS), MHAL CommunicationService, etc.). (excerpt from Appendix E)
    6. 6. Model Driven Architecture Views 6 SCA 2.2 SCA 2.2.1 SCA 2.2.2 SCA 4.0 SCA 4.0 AppendicesFunctional Architecture Design Implementation View View Model and Deployment CIM – Computationally Independent Model PIM – Platform Independent Model PSM – Platform Specific Model PSI – Platform Specific Implementation
    7. 7. PSM Appendices 7 E Transports and Technologies E.1 – Common Object Request Broker Architecture (CORBA) Full – Provides features for general platforms and applications Lightweight – Provides minimal features for highly constrained resources Ultra-Lightweight – Essential capabilities supported by FPGAs E.2 – C++ E.3 – OMG Interface Definition Language
    8. 8. Appendix E-1 CORBA PSM 8 Three CORBA profiles based on CORBA/e with additional features from RT CORBA The SCA CORBA profiles are characterized as follows: 1. SCA Full CORBA (Full) Profile – is the Full CORBA profile and is targeted for applications hosted on GPPs 2. SCA Lightweight CORBA (LW) Profile – is more constrained than the SCA Full CORBA Profile and is targeted towards environments with limited computing support (e.g. DSPs) 3. SCA Ultra-Lightweight CORBA (ULW) Profile – is more constrained than the SCA Lightweight CORBA Profile and is specifically intended for processing elements with even more limited computing support (e.g., DSPs & FPGAs)
    9. 9. Appendix E-1 CORBA PSM 9 Each profile characterizes the IDL features allowed for definition of interfaces between application components. The LW Profile narrows the IDL feature set in order to limit the processing overhead caused by a number of types in the Full Profile. The ULW Profile narrows the constructs even further to accommodate typical limitations of DSP and FPGA environments. The shared IDL foundation of the profiles facilitates portability not only between platforms, but also across processing elements and transfer mechanisms. Component portability may be enhanced if the IDL from more constrained profiles are used when defining application interfaces targeted for components deployed within less constrained processing elements.
    10. 10. Full Profile (Highlights) 10 Based on CORBA/e Compact Profile IDL data types - boolean, octet, short, unsigned short, long, unsigned long, enum, float, double, long double, long long, unsigned long long, char, string, unions, arrays, struct, sequence Minimum CORBA POA Restricted Any data type SYNC_SCOPE_POLICY RT CORBA – including PriorityModelPolicy, PriorityBandedConnectionPolicy, ServerProtocolPolicy and RT Thread Pools COS Event – PushSupplier and PushConsumer ORB_init() parameters - allows Root POA to be created with non default parameters
    11. 11. Lightweight Profile (Highlights) 11 Based on CORBA/e Micro Profile IDL data types - boolean, octet, short, unsigned short, long, unsigned long, enum, float, double, long double, long long, unsigned long long, char, string, unions, arrays, struct, sequence Root only POA ORB_init() parameters - allows Root POA to be created with non default parameters
    12. 12. CORBA Ultra-Lightweight Profile 12ULW profile only IDL basic data types Shortstandardises the subset of Long unsigned shortIDL a CORBA capable unsigned longFPGA can use Boolean OctetORB internal details are IDL complex data types struct (restricted to supported basic data types)unspecified and could be sequence (restricted to supported basic data types) Enumimplemented in a number of IDL keywords Moduleways, for example: Interface In 1. Software ORB – using a Out processor core embedded Inout Void on the FPGA Typedef oneway 2. Hardware ORB – key Return value Return values of a basic data type to be supported functions of an ORB implemented as an IP core
    13. 13. Spectra SDR Product Suite 13
    14. 14. Spectra Product Integration 14
    15. 15. Spectra CDB – “SCA Everywhere” 15 The first standards based, high performance, low footprint, fully interoperable COTS SCA middleware solution that can be deployed across multiple processor types, including GPP, DSP and FPGA environments
    16. 16. Spectra Common Data Bus (CDB) 16 Spectra Common Data Bus (CDB) is a fully integrated and optimized Software Defined Radio (SDR) middleware stack Spectra Common Data Bus (CDB), runs across a wide range of General Purpose Processor (GPP), Digital Signal Processor (DSP) and Field Programmable Gate Array (FPGA) processing elements Spectra CDB includes the following: Spectra ORB C++ ORB (for GPP) C ORB (for GPP and DSP) Spectra Lightweight Services Spectra Lightweight Naming Service Spectra Lightweight Event Service Spectra Lightweight Log Service Spectra IP Core ORB (ICO) for FPGA and ASIC
    17. 17. Spectra ORB 17An ORB specifically designed for SDR(Software Defined Radio) and otherresource constrained DRE (Distributed Common Micro Kernel Architecture Supporting Multiple Language Implementations (C & C++)Real-Time Embedded) systems Spectra ORB SDR Lightweight COS –– Naming, Event & Log Spectra ORB SDR Lightweight COS Naming, Event & LogSmall footprint and memory overheadEfficient use of resources Client Client Server ServerHighest performance and throughput IDL OR B ORB IDL Pluggable POA Pluggable POA IDL Interface IDL M-POA RT-POAOpen & configurable architecture Interface M-POA RT-POAHighly portable, scalable, flexible & IDL IDL Threading Models Threading Models Micro ORB Kernel Micro ORB Kernel Portable COR BA GIOP GIOPreliable Compiler Portable COR BA Compiler Thread Pool Interceptors Messaging Thread Pool Interceptors Messaging Extensible Transport Framework Extensible Transport FrameworkAn interoperable GPP and DSP solution Thread Per Connection SSLIOP IIOP DIOP Thread Per Connection SSLIOP IIOP DIOP Thread per Requestin the same ORB family Thread per Request R CORBA T SHMIOP UIOP R CORBA T SHMIOP UIOPComplimentary SDR products and 3rd rd Partywireless software solutions 3 Party Scheduler Scheduler Key middleware component of PrismTech’s SDR productsLow Total Cost Of Ownership – noruntime fees for internal use
    18. 18. Spectra IP Core ORB (ICO) 18 FPGA Rx Meta Data FIFO Bridge ROM GIOP ICO Message Arbitration GPIO Transport External Interface Servant Servant Client Meta Data ROM GIOP Arbitration Message Tx BridgeICO is a hardware implementation of a CORBA ORB The ICO design environment consists of:Implements a subset of the most commonly used The ICO engine (IP interface core)CORBA functions IDL to VHDL code generatorEliminates the need to develop custom proxies A hardware developer treats ICO as any(HALs) on GPP processor or DSP in order to other IP core interfaceestablish communication with the FPGA Software developers treat ICOICO has been written in portable VHDL & can be components as they would any othersynthesized onto any FPGA or ASIC platform CORBA object
    19. 19. Spectra CDB SCA 4 Roadmap 19 Spectra CDB suite of CORBA ORBs will be fully SCA 4 compliant by the end of the year 2012 Spectra ORB v2 Spectra ORB C++ Edition will provide support for SCA 4 Full Profile Spectra ORB C Edition will provide support for SCA 4 Full and Lightweight Profiles Spectra ICO v2.3 ICO already supports SCA 4 Ultra-Lightweight Profile
    20. 20. For More Information Contact: 20 For additional information on PrismTech’s Spectra products and services: E-mail: Website: Spectra Product Manager: Andrew Foster, Spectra Product Manager Email:
    21. 21. 21Thank You