Published on

The Software Communications Architecture (SCA) 4.0 is a major revision of the standard and is designed to be more scalable, lightweight, and flexible than the current SCA 2.2.2 specification. It is compatible with radio sizes ranging from small, single channel radios to prime-power, multi-channel sets. Importantly the new SCA 4.0 CORBA PSM extends the reach of the standard into DSP and FPGA processing environments more effectively.

In advance of the availability of the next generation of Core Frameworks that will emerge, this presentation shos how SCA 4.0 middleware can be seamlessly used within existing SCA systems for backwards compatibility while offering benefits to new applications and an efficient migration path to full SCA 4.0 compliance.

Published in: Technology, Education
  • 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


  1. 1. Removing the Barriers to SCA 4.0 AdoptionSoftware Defined Radio WebcastAndrew Foster, Product Manager, PrismTechMay 7 2013
  2. 2. 2AgendaIntroduction to SCA 4.0SCA 4.0 CORBA PSMSCA 4.0 MiddlewareMigrating from SCA 2.2.2 to SCA 4.0Conclusions
  3. 3. Introduction to SCA 4.0
  4. 4. 4The Software CommunicationsArchitecture (SCA) has remainedlargely unchanged since 2001when v2.2 was released and theJoint Tactical Radio System(JTRS) program started.SCA 4.0, approved February2012, represents a radical shift inthe approach to specifying thearchitecture, design andimplementation of a softwaredefined radio (SDR).Background4
  5. 5. 5SCA 4.0 ApproachThe SCA 4.0 specification has been developed followingthe Model Driven Architecture (MDA) approachThe base specification has been developed as aPlatform Independent Model (PIM)Appendices define transfer mechanisms to provide co-located or distributed client/server operationsCurrently the only transfer mechanism indentified inAppendix E is based on the Common Object RequestBroker Architecture (CORBA)Appendix E-1 defines the CORBA PSM for use with SCA4.0
  6. 6. SCA v4.0JPEO ObjectivesReduce development resourcesBudgetScheduleReduce test and certification timeReduce number of requirementsIncrease use of automated testingImprove performanceReduce boot up latencyReduce memory footprintTechnology refreshIncorporate lessons learnedBackwards compatibility of applications is anoverarching tenet6
  7. 7. SCA v4.0 Key ChangesLightweight ComponentsComponent RegistrationDeployment OptimizationsProfiles and SCA ConformancePlatform Independent Model7
  8. 8. 8Operating SystemORB andCORBAServicesCore Framework Control,Services, Devices, andFile accessAEPApplication ResourcesCORBA APIsCF InterfacesOperating SystemORB andCORBAServicesCore Framework Control,Services, Devices, andFile accessAEPApplication ResourcesCORBA APIsCF InterfacesSCA 2.2.2 OE and AEPSCA 2.2.2 specifies the use of CORBA as the protocol for data transfer and inter-process application function calls on the GPP.It does not preclude the use of CORBA on a DSP or FPGA but assumes that theseare not CORBA capable CEs and recommends MHAL or MOCB instead.
  9. 9. SCA 2.2.2 - CORBA on GPP, MHAL to Communicate with DSP and FPGAHost Development ToolsGPP DSP FPGASCA 2.2.2.CFCORBA ORBMHAL transportCORBA on GPP, MHAL to Communicate with DSP and FPGAComponentASCA ResourceCORBAMHALWaveformLogicCWaveformLogicDMHALDeviceMHALComponentBSCA ResourceCORBACORBAtransporte.g., IIOP(GIOP overTCP/IP)SCA 2.2.2 Communication Model9
  10. 10. 10SCA 4.0 OE and AEPSCA 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)
  11. 11. 11Model Driven Architecture ViewsSCA 2.2SCA 2.2.1SCA 2.2.2CIM – Computationally Independent ModelPIM – Platform Independent ModelPSM – Platform Specific ModelPSI – Platform Specific ImplementationSCA 4.0 AppendicesSCA 4.0FunctionalViewArchitectureViewDesignModelImplementationand Deployment
  12. 12. 12PSM AppendicesE Transports and TechnologiesE.1 – Common Object Request BrokerArchitecture (CORBA)Full – Provides features for general platforms andapplicationsLightweight – Provides minimal features for highlyconstrained resourcesUltra-Lightweight – Essential capabilities supportedby FPGAsE.2 – C++E.3 – OMG Interface Definition Language
  13. 13. SCA 4.0 CORBA PSM
  14. 14. 14Appendix E-1 CORBA PSMThree CORBA profiles based on CORBA/e withadditional features from RT CORBAThe SCA CORBA profiles are characterized as follows:1. SCA Full CORBA (Full) Profile – is the Full CORBA profile and istargeted for applications hosted on GPPs2. SCA Lightweight CORBA (LW) Profile – is more constrained than theSCA Full CORBA Profile and is targeted towards environments withlimited computing support (e.g. DSPs)3. SCA Ultra-Lightweight CORBA (ULW) Profile – is more constrainedthan the SCA Lightweight CORBA Profile and is specifically intendedfor processing elements with even more limited computing support(e.g., DSPs & FPGAs)
  15. 15. 15Appendix E-1 CORBA PSMEach profile characterizes the IDL features allowed for definition ofinterfaces between application componentsThe LW Profile narrows the IDL feature set in order to limit theprocessing overhead caused by a number of types in the FullProfileThe ULW Profile narrows the constructs even further toaccommodate typical limitations of DSP and FPGA environmentsThe shared IDL foundation of the profiles facilitates portability notonly between platforms, but also across processing elements andtransfer mechanismsComponent portability may be enhanced if the IDL from moreconstrained profiles are used when defining application interfacestargeted for components deployed within less constrainedprocessing elements
  16. 16. 16Full Profile (Highlights)Based on CORBA/e Compact ProfileIDL 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,objectMinimum CORBA POARestricted Any data typeSYNC_SCOPE_POLICYRT CORBA – including PriorityModelPolicy,PriorityBandedConnectionPolicy, ServerProtocolPolicy and RTThread PoolsCOS Event – PushSupplier and PushConsumerORB_init() parameters - allows Root POA to be created with nondefault parameters
  17. 17. 17Lightweight Profile (Highlights)Based on CORBA/e Micro ProfileIDL 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, objectAny data type not allowedRoot only POAORB_init() parameters - allows Root POA to be createdwith non default parameters
  18. 18. 18Ultra-Lightweight Profile (Highlights)ULW profile only standardisesthe subset of IDL a CORBAcapable FPGA can useString, Any or Object datatypes not allowedORB internal details areunspecified and could beimplemented in a number ofways, for example:1. Software ORB – using aprocessor coreembedded on the FPGA2. Hardware ORB – keyfunctions of an ORBimplemented as an IPcoreIDL basic data types ShortLongunsigned shortunsigned longBooleanOctetIDL complex data types struct (restricted to supported basic data types)sequence (restricted to supported basic data types)EnumIDL keywords ModuleInterfaceInOutInoutVoidTypedefonewayReturn valueReturn values of a basic data type to be supported
  19. 19. SCA 4.0 – CORBA on GPP, DSP and FPGAHost Development ToolsGPP DSP FPGASCA2.2.2CFCORBA ORB CORBA ORB CORBA ORBCORBA TransportCORBA on GPP, DSP and FPGASCA ResourceComponentASCA ResourceCORBACORBACORBACORBAComponentCComponentDSCA ResourceComponentBSCA ResourceCORBASCA 4.0 Communication ModelCORBAtransporte.g., IIOP(GIOP overTCP/IP)19
  20. 20. SCA 4.0 Middleware
  21. 21. Spectra SDR Product Suite 21SpectraCXSpectraCFSpectraCDBSpectraDTPSpectra CX is a model-driven development toolthat enables SDR andwaveform software to berapidly developed,integrated and tested.Spectra CX allows radioplatform details to bepackaged and delivered todistributed independentdevelopment groups usingthe tools to hide platformcomplexities and IP asneeded.Spectra CoreFramework (CF) is ahigh-performance,ultra low footprint,radio managementframework providingadvanced capabilitiesand extensibilities formultiple softwareradio architectures.Spectra Common Data Bus(CDB) is a high-performance, integrated databus providing a unified dataexchange protocol andformat. Spectra CDBsupports a wide range ofGeneral Purpose Processor(GPP), Digital SignalProcessor (DSP) and FieldProgrammable Gate Array(FPGA) processingelements.Spectra DTP is an SDRdevelopment and testplatform that supportswaveform design andimplementation for military,homeland security andcommercial SDRs. SpectraDTP is an optimized smallform-factor platform with lowpower consumption thatenables the development,testing and deployment ofwaveforms.PrismTech Proprietary Information
  22. 22. 22Spectra Common Data Bus (CDB) – “SCA Everywhere”SCA EverywhereSpectra ORBC & C++Spectra ORBCSpectra ICOVHDLExtensible Transport Framework (TCP/IP, Rapid IO, Gigabyte Ethernet etc.)WaveformComponentWaveformComponentWaveformComponentGPP DSP FPGASpectra SCACFStandards based, high performance, low footprint, fully interoperable COTS SCA middlewaresolution that can be deployed across multiple processor types, including GPP, DSP and FPGAenvironments
  23. 23. 23Spectra Common Data Bus (CDB)Spectra Common Data Bus (CDB) is a fully integrated and optimizedSoftware Defined Radio (SDR) middleware stackSpectra Common Data Bus (CDB), runs across a wide range ofGeneral Purpose Processor (GPP), Digital Signal Processor (DSP) andField Programmable Gate Array (FPGA) processing elementsSpectra CDB includes the following:Spectra ORBC++ ORB (for GPP)C ORB (for GPP and DSP)Spectra Lightweight ServicesSpectra Lightweight Naming ServiceSpectra Lightweight Event ServiceSpectra Lightweight Log ServiceSpectra IP Core ORB (ICO) for FPGA and ASIC
  24. 24. Spectra ORB SCA 4 EditionCommon Micro Kernel Architecture SupportingMultiple Language Implementations (C & C++)IDLCompilerMicro ORB KernelServerIDLClientIDL ORBInterfaceGIOPExtensible Transport FrameworkIIOP DIOPSSLIOPRT CORBAPortableInterceptorsCORBAMessagingPluggable POART-POAM-POAThreading ModelsThread PoolThread Per Connection3rd PartySchedulerSHMIOPOpenFusion e*ORB SDR Lightweight COS – Naming, Event & LogThread per RequestUIOPKey Features:Fully compliant with the Software CommunicationsArchitecture (SCA) v4.0 specification, includingpluggable support for :SCA 4.0 Full Profile (C++ ORB)SCA 4.0 Lightweight Profile (C & C++ ORBs)Minimum CORBA (C & C++ ORBS)CORBA/e Compact Profile (C & C++ ORBs)CORBA/e Micro Profile (C ORB)IDL compiler (C and C++)GIOP 1.1Extensible Transport Framework (ETF) – providingmulti-transport plug-in support, for transports suchas TCP/IP, UDP and Compact PCIMulti-thread safeExtensible server-side threading framework.Pluggable POA frameworkPluggable ANY data type supportRequest timeoutsPluggable Real-Time CORBA supportBundled Lightweight Naming. Event & Log Services(both C & C++)Availability:Broad platform support, including:OS: Windows, Solaris, LinuxRTOS: VxWorks, Integrity, LynxOS, QNX, ThreadX, TI BIOS, OSEckCPU: x86, SPARC, ARM, PowerPC, TI C64x, TI C55x24
  25. 25. 25Spectra ORB SCA 4 Edition – Key BenefitsAn ORB specifically designed for SDR and other resourceconstrained DRE (Distributed Real-Time Embedded) systemsSmallest footprint and memory overheadMore efficient use of resourcesHighest performance and throughputThe best ORB for SCA-compliant SDR developmentOpen and configurable architectureHighly portable, scalable, flexible & reliableAn interoperable GPP and DSP solution in the same ORB familyComplementary SDR products & wireless software solutionsKey middleware component of the PrismTech’s SDRproductsLowers Total Cost Of Ownership – no runtime fees for internaluse
  26. 26. Spectra IP Core ORB (ICO)ICO CORBA Core Available For Any FPGA or ASICICO is a hardware implementation of aCORBA ORBImplements a subset of the most commonlyused CORBA functionsEliminates the need to develop custom proxies(HALs) on GPP processor or DSP in order toestablish communication with the FPGAICO has been written in portable VHDL & canbe synthesized onto any FPGA or ASICplatformThe ICO design environmentconsists of:The ICO engine (IP interface core)IDL to VHDL code generatorA hardware developer treats ICO asany other IP core interfaceSoftware developers treat ICOcomponents as they would any otherCORBA object26
  27. 27. ICO Feature SummaryProvides a superset of functionality that is fully compliant with the Software CommunicationsArchitecture (SCA) v4.0 specification:Ultra-Lightweight CORBA ProfileSupports GIOP version 1.0 protocolSupport for CORBA clients and serversServants implemented on FPGA in VHDLClients can be internal to the FPGA written in VHDL or external to FPGA(e.g., on a GPP or DSP) implemented bya conventional software applicationNo arbitrary restriction on the number of clients and servers that can be supported on the FPGA IDL compilersupportOne way operations and two way operationsSupports IDL to VHDL language mapping and will auto generate VHDL equivalent of CORBA stubs andskeletons allowing ICO to be easily connected to servants implementing waveform logicBased on CORBA 3 grammar, but only supporting a subset of data types and constructs:Simple data types - Char, Octet, Boolean, Short, Unsigned Short, Long, Unsigned Long, Long Long, UnsignedLong Long, StringAny type (of simple data types)Object TypeEnumerated TypesComplex data typesStructSequenceArrayCORBA exceptions supportUser exceptionsSystem exceptionsPluggable and open transport interface allows user-defined custom transports to be plugged into ICOWritten in pure VHDL and portable across FPGA devices27
  28. 28. Spectra ICO – Key BenefitsHigh performance standards based messaging for FPGAsGreatly simplifies FPGA application integrationHelps support FPGA application portabilityHigh throughput low latency messaging solutionHelps reduce time to market for new FPGA applicationsLow footprint—efficient use of available FPGA resourcesAvailable as part of a complete range of complementary SDRproductsCan support a unified messaging protocol across GPP, DSP andFPGA processing elementsCan support a broad range of FPGA devices from the leadingvendorsNo export restrictions - not subject to International Traffic in ArmsRegulations (ITAR) or Joint Tactical Radio System (JTRS) exportrestrictions28
  29. 29. 29Spectra SCA 4.0 RoadmapSpectra SCA 4 Edition – GA availability May2013Spectra ICO v2.3 – available nowICO already supports SCA 4.0 Ultra-Lightweight ProfileULW profile defines a subset of the functionality and data types that ICO canactually support
  30. 30. Migrating from SCA 2.2.2 to 4.0
  31. 31. 31SCA 4.0 Resource Interface
  32. 32. 32Resource Interfaces Supported by Each CORBA ProfileResource Interfaces OptionalCategoryAttributes & Operations FullProfileLightweightProfileUltra-LightweightProfileLifeCycle Mandatory initialize():voidreleaseObject(): void   ComponentIdentifier INTERROBABLE identifier: string  ×**PortAccessor CONNECTABLE connectUsesPorts(Connections): voiddisconnectPorts(Connections): voidgetProvidedPorts(Connections): void  ×***ControllableComponent CONTROLLABLE started: booleanstart(): voidstop(): void  PropertySet CONFIGURABLE configure(Properties): voidquery(Properties): void  ×* ×TestableObject TESTABLE runTest(unsigned long, Properties): void ×* ×* Requires support for Any data type** Requires support for String data type** Requires support for Object data type
  33. 33. 33SCA 2.2.2 Resource Interfaceclass Resource Interface«CORBAInterface»Resource+ identifier: string+ start() : void+ stop() : void«CORBAInterface»PropertySet+ query(configProperties :Properties) : void+ configure(configProperties :Properties*) : void«CORBAInterface»PortSupplier+ getPort(name :string) : Object«CORBAInterface»LifeCycle+ initialize() : void+ releaseObject() : void«CORBAInterface»TestableObject+ runTest(testid :unsigned long, testValues :Properties*) : voidWaveformComponent
  34. 34. 34Leveraging The Benefits of SCA 4.0 Middleware in anSCA 2.2.2 EnvironmentCan I use SCA 4.0 middleware to enable the redeployment of SCACORBA enabled components on a DSP or FPGA in an SCA 2.2.2based system ?Problem - SCA 2.2.2 Resource interface is fixed and theLightweight and Ultra-Lightweight Profiles do not support all of therequired IDL typesSolutionSpectra ORB SCA 4 Edition C ORB Full Profile can be used on a DSP and stillsupport full SCA 2.2.2 Resource interfaceSpectra ICO with its “Meta Driven Design” can also support all of the IDL typesrequired by the SCA 2.2.2 Resource interfaceUsers can create SCA 2.2.2 compliant applications with Resourcecomponents deployed on a DSP or FPGAIn an SCA 4.0 OE core business logic for DSP or FPGA componentcan remain unchanged, but Resource interface IDL modified tosupport light weight component interface hosted on Light or Ultra-Lightweight Profile compliant middleware
  35. 35. 35SCA 2.2.2 to SCA 4.0 Migration IssuesA significant issue that must be addressed is that SCA 4.0 does notsupport backwards compatibility with SCA 2.2.2 application andplatform components as originally envisagedAn SCA 4.0 Core Framework will not be able to deploy an SCA2.2.2 waveformParts of the Resource and Device interfaces such as the connectionAPIs have changed between SCA 2.2.2 and 4.0Manually migrating SCA 2.2.2 application or platform components toSCA 4.0 could be a time consuming processThis is major area where PrismTech MDD approaches can bringsignificant benefits by helping automate much of the migrationprocess
  36. 36. 36Automating the SCA 2.2.2 to SCA 4.0 Migration Processclass Resource Interface«CORBAInterface»Resource+ identifier: string+ start() : void+ stop() : void«CORBAInterface»PropertySet+ query(configProperties :Properties) : void+ configure(configProperties :Properties*) : void«CORBAInterface»PortSupplier+ getPort(name :string) : Object«CORBAInterface»LifeCycle+ initialize() : void+ releaseObject() : void«CORBAInterface»TestableObject+ runTest(testid :unsigned long, testValues :Properties*) : voidWav eformComponentSCA 4.0SCA 2.2.2MDD tools such as Spectra CX will be able to auto-generate an SCA 4.0 model from a SCA 2.2.2model using a set of mapping rulesThe MDD tools will generate the SCA 4.0 component container code (including XML, sourcecode, make files) based on the target PSM technologiesIf the business code is also being maintained as part of the SCA 2.2.2 model as is possible withtool such Spectra CX then it can also be automatically migrated into the new SCA 4.0 modelIf the business code is being maintained independently (e.g. library includes) then thesereferences can be automatically migrated into the SCA 4.0 model
  37. 37. 37ConclusionsSCA 4.0 introduces major changes to the standardInterfaces now defined specified as a PIM that can be mapped to differentPSMsStandard aligns with a Model Driven Development approach to developingSDRsNew CORBA PSM extends SCA support for DSPs and FPGAsUsing Spectra ORB and ICO allows users to develop components for DSPsand FPGAs and deploy in an SCA 2.2.2 OEMigrating SCA 2.2.2 Resource components to SCA 4.0 LightweightResource components is possible but requires IDL changes and CORBAProfile SupportSpectra ORB and ICO’s support for multi profiles in single implementationmakes SCA 4.0 middleware adoption straight forwardModel Driven Development and advanced tooling with automated migrationsupport will be a key to the successful of adoption of SCA 4.0
  38. 38. Additional InformationAndrew Foster e-mail:awf@prismtech.comWeb contact your PrismTech accountmanager38
  39. 39. 3939Thank You
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.