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?
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. 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. 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 System
SCA 2.2.2 specifies the use of CORBA as the protocol for data transfer and inter-
process application function calls.
5. SCA 4.0 OE and AEP 5
SCA products can be realized using a variety of transports and technologies (e.g.
CORBA, C++, SOAP, Data Distribution Service (DDS), MHAL Communication
Service, etc.). (excerpt from Appendix E)
6. Model Driven Architecture Views 6
SCA 2.2
SCA 2.2.1
SCA 2.2.2
SCA 4.0 SCA 4.0 Appendices
Functional 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. 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. 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. 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. 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. 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. CORBA Ultra-Lightweight Profile 12
ULW profile only IDL basic data types Short
standardises the subset of Long
unsigned short
IDL a CORBA capable unsigned long
FPGA can use Boolean
Octet
ORB 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)
Enum
implemented in a number of IDL keywords Module
ways, 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
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. 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. Spectra ORB 17
An ORB specifically designed for SDR
(Software Defined Radio) and other
resource 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 & Log
Small footprint and memory overhead
Efficient use of resources Client
Client
Server
Server
Highest performance and throughput IDL OR B
ORB IDL
Pluggable POA
Pluggable POA
IDL Interface IDL M-POA RT-POA
Open & configurable architecture Interface M-POA RT-POA
Highly portable, scalable, flexible & IDL
IDL
Threading Models
Threading Models
Micro ORB Kernel
Micro ORB Kernel
Portable COR BA
GIOP
GIOP
reliable
Compiler Portable COR BA
Compiler Thread Pool Interceptors Messaging
Thread Pool Interceptors Messaging Extensible Transport Framework
Extensible Transport Framework
An interoperable GPP and DSP solution
Thread Per Connection SSLIOP IIOP DIOP
Thread Per Connection SSLIOP IIOP DIOP
Thread per Request
in the same ORB family
Thread per Request
R CORBA
T SHMIOP UIOP
R CORBA
T SHMIOP UIOP
Complimentary SDR products and 3rd rd
Party
wireless software solutions 3 Party
Scheduler
Scheduler
Key middleware component of
PrismTech’s SDR products
Low Total Cost Of Ownership – no
runtime fees for internal use
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
Bridge
ICO 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 generator
Eliminates 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 interface
establish communication with the FPGA Software developers treat ICO
ICO has been written in portable VHDL & can be components as they would any other
synthesized onto any FPGA or ASIC platform CORBA object
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. For More Information Contact: 20
For additional information on PrismTech’s Spectra
products and services:
E-mail:
info@prismtech.com
Website:
www.prismtech.com/spectra
Spectra Product Manager:
Andrew Foster, Spectra Product Manager
Email: awf@prismtech.com
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