21
Vincent Kovarik, PhD Chief Technology Officer [email protected] SCA 4.0 CORBA: “Maximum Performance”

Moving Forward with SCA 4.0 Next Generation Middleware

Embed Size (px)

DESCRIPTION

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?

Citation preview

Page 1: Moving Forward with SCA 4.0 Next Generation Middleware

Vincent Kovarik, PhDChief Technology Officer

[email protected]

SCA 4.0 CORBA:“Maximum Performance”

Page 2: Moving Forward with SCA 4.0 Next Generation Middleware

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).

Background

2

Page 3: Moving Forward with SCA 4.0 Next Generation Middleware

3SCA 4.0 Approach

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

Page 4: Moving Forward with SCA 4.0 Next Generation Middleware

4

Operating System

ORB and CORBA Services

Core Framework Control, Services, Devices, and

File accessAEP

Application Resources

CORBA APIs

CF Interfaces

Operating System

ORB and CORBA Services

Core Framework Control, Services, Devices, and

File accessAEP

Application Resources

CORBA APIs

CF Interfaces

SCA 2.2.2 OE and AEP

SCA 2.2.2 specifies the use of CORBA as the protocol for data transfer and inter-process application function calls.

Page 5: Moving Forward with SCA 4.0 Next Generation Middleware

5SCA 4.0 OE and AEP

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)

Page 6: Moving Forward with SCA 4.0 Next Generation Middleware

6Model Driven Architecture Views

SCA 2.2SCA 2.2.1SCA 2.2.2

CIM – Computationally Independent ModelPIM – Platform Independent ModelPSM – Platform Specific ModelPSI – Platform Specific Implementation

SCA 4.0 AppendicesSCA 4.0

FunctionalView

ArchitectureView

DesignModel

Implementationand Deployment

Page 7: Moving Forward with SCA 4.0 Next Generation Middleware

7PSM Appendices

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

Page 8: Moving Forward with SCA 4.0 Next Generation Middleware

8Appendix E-1 CORBA PSM

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)

Page 9: Moving Forward with SCA 4.0 Next Generation Middleware

9Appendix E-1 CORBA PSM

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.

Page 10: Moving Forward with SCA 4.0 Next Generation Middleware

10Full Profile (Highlights)

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

Page 11: Moving Forward with SCA 4.0 Next Generation Middleware

11Lightweight Profile (Highlights)

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

Page 12: Moving Forward with SCA 4.0 Next Generation Middleware

12CORBA Ultra-Lightweight Profile

ULW profile only standardises the subset of IDL a CORBA capable FPGA can useORB internal details are unspecified and could be implemented in a number of ways, for example:

1. Software ORB – using a processor core embedded on the FPGA

2. Hardware ORB – key functions of an ORB implemented as an IP core

IDL basic data types Short

Long

unsigned short

unsigned long

Boolean

Octet

IDL complex data types struct (restricted to supported basic data types)

sequence (restricted to supported basic data types)

Enum

IDL keywords Module

Interface

In

Out

Inout

Void

Typedef

oneway

Return value Return values of a basic data type to be supported

Page 13: Moving Forward with SCA 4.0 Next Generation Middleware

Spectra SDR Product Suite 13

Page 14: Moving Forward with SCA 4.0 Next Generation Middleware

14Spectra Product Integration

Page 15: Moving Forward with SCA 4.0 Next Generation Middleware

15Spectra CDB – “SCA Everywhere”

The first standards based, high performance, low footprint, fully interoperable COTS SCA The first standards based, high performance, low footprint, fully interoperable COTS SCA middleware solution that can be deployed across multiple processor types, including GPP, middleware solution that can be deployed across multiple processor types, including GPP, DSP and FPGA environmentsDSP and FPGA environments

Page 16: Moving Forward with SCA 4.0 Next Generation Middleware

16Spectra Common Data Bus (CDB)

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

Page 17: Moving Forward with SCA 4.0 Next Generation Middleware

17Spectra ORB

An ORB specifically designed for SDR (Software Defined Radio) and other resource constrained DRE (Distributed Real-Time Embedded) systemsSmall footprint and memory overheadEfficient use of resourcesHighest performance and throughputOpen & configurable architectureHighly portable, scalable, flexible & reliableAn interoperable GPP and DSP solution in the same ORB familyComplimentary SDR products and wireless software solutions

Key middleware component of PrismTech’s SDR products

Low Total Cost Of Ownership – no runtime fees for internal use

Common Micro Kernel Architecture Supporting

Multiple Language Implementations (C & C++)

IDLCompiler

IDLCompiler

Micro ORB KernelMicro ORB Kernel

ServerServer

IDLIDL

ClientClient

IDLIDL ORB

Interface

ORB Interface

GIOPGIOP

Extensible Transport FrameworkExtensible Transport Framework

IIOPIIOP DIOP

DIOPSSLIOP

SSLIOP

RT CORBART CORBA

PortableInterceptors

PortableInterceptors CORBA

Messaging

CORBAMessaging

Pluggable POAPluggable POA

RT-POART-POAM-POA

M-POA

Threading ModelsThreading Models

Thread PoolThread Pool

Thread Per ConnectionThread Per Connection

3rd PartyScheduler

3rd PartyScheduler

SHMIOPSHMIOP

Spectra ORB SDR Lightweight COS – Naming, Event & LogSpectra ORB SDR Lightweight COS – Naming, Event & Log

Thread per RequestThread per Request

UIOPUIOP

Page 18: Moving Forward with SCA 4.0 Next Generation Middleware

Spectra IP Core ORB (ICO)

ICO is a hardware implementation of a CORBA ORBImplements a subset of the most commonly used CORBA functionsEliminates the need to develop custom proxies (HALs) on GPP processor or DSP in order to establish communication with the FPGAICO has been written in portable VHDL & can be synthesized onto any FPGA or ASIC platform

The ICO design environment consists of:The ICO engine (IP interface core)IDL to VHDL code generator

A hardware developer treats ICO as any other IP core interface Software developers treat ICO components as they would any other CORBA object

Transport

FIFORx

Bridge

Arbitration

Servant Servant Client

Arbitration

TxBridge

FPGA

ICO

GPIO

GIOPMessage

GIOPMessage

External Interface

Meta DataROM

Meta DataROM

18

Page 19: Moving Forward with SCA 4.0 Next Generation Middleware

19Spectra CDB SCA 4 Roadmap

Spectra CDB suite of CORBA ORBs will be fully SCA 4 compliant by the end of the year 2012

Spectra ORB v2Spectra 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.3ICO already supports SCA 4 Ultra-Lightweight Profile

Page 20: Moving Forward with SCA 4.0 Next Generation Middleware

20For More Information Contact:

For additional information on PrismTech’s Spectra products and services:

E-mail:[email protected]

Website:www.prismtech.com/spectra

Spectra Product Manager:

Andrew Foster, Spectra Product Manager

Email: [email protected]

Page 21: Moving Forward with SCA 4.0 Next Generation Middleware

2121

Thank You