spectra oe webcast july 2010
DESCRIPTION
Spectra Operating Environment (OE) - Setting a new standard for high performance SCA compliant radio development. A presentation about the SCA Operating Environment, requirements, a business case for COTS OE & an introduction to Spectra OE and its benefits, performance & complementary products.TRANSCRIPT
Spectra Operating Environment (OE) – Setting a New Standard For High Performance SCA Compliant Radio Development
July 2010 – Andrew Foster, Spectra OE Product Manager
2Agenda
The SCA Operating EnvironmentWhat is an SCA Operating Environment ?SCA Operating Environment RequirementsCORBA Middleware RequirementsSCA Core Framework Requirements
Business Case for COTS OEMarket TrendsBuy vs Build
Spectra OE What is Spectra OE ?Benefits of Spectra OESpectra OE PerformanceSpectra OE v2.5Complementary Products – Spectra CX and DTP 4500Spectra OE Roadmap
The SCA Operating Environment
44What is a SCA Operating Environment (OE) ?
The software components which provide management and execution of SCA applications and devices comprise the SCA-defined OE
An SCA OE consists of:1. An Operating System (OS) supporting the SCA Application Environment Profile
(AEP)
2. CORBA Middleware – including OMG defined Naming and Event Services
3. The elements defined by the Core Framework (CF) Control and Services Interfaces
SCA Operating System Requirements
The SCA requires real-time operating system functions to provide multi-threaded support for all software executing on the system
The SCA defines an Application Environment Profile (AEP) that the OE to support waveform portability
The AEP is based on the POSIX specifications
AEP support is provided by the RTOS
An SCA OE must provide the mandatory functionality defined in the AEP
Applications are limited to using OS services defined in the AEP, the middleware and CF are not!
5
CORBA Middleware Requirements
CORBA is used as the message passing technique for the distributed processing environment.
CORBA is a cross-platform framework that is used to standardize client/server operations when using distributed processing
The OE shall provide middleware that at a minimum provides the services and capabilities defined in the OMG’s minimumCORBA standard
The OE shall provide an implementation of the CORBA Naming Service (specifically NamingContext interface)
The OE shall provide an implementation of the CORBA Event Service (specifically PushConsumer and Push Supplier interfaces)
Optionally the OE may provide an implementation of the OMG’s Lightweight Log Service Specification
Applications are limited to using CORBA and CORBA Services in the minimumCORBA standard
6
SCA Core Framework Requirements
The SCA Core Framework (CF) is an essential set of application layer CORBA interfaces and services that provide an abstraction of the underlying software and hardware
An SCA CF supports the following interfaces:Base Application Interfaces: Port, LifeCycle, TestableObject, PropertySet, PortSupplier, ResourceFactory, and Resource), which provide the management and control interfaces for all system software components
Base Device Interfaces: Device, LoadableDevice, ExecutableDevice, and AggregateDevice, which allows the management and control of hardware devices within the system through their software interface
Framework Control Interfaces: Application, ApplicationFactory, DomainManager, and DeviceManager, which control the instantiation, management, and destruction/removal of software from the system
Framework Services Interfaces: File, FileSystem, and FileManager, that provide additional support functions and services
7
The Business Case for COTS OE
Harnessing the Power of Standards-Based COTS SDR Components
Lower SDR development and maintenance costs
Speed time to market
Improves quality of delivered systems
Enables platforms to take advantage of evolving standards, technology
Renews focus on radio functionality
9
10The Case for Buy-Not-Build
By necessity, to deliver its benefits, the SCA is a complex specification A SCA core framework is highly specialized with few experts available Embedded middleware is highly specialized with few experts available RTOSes are complex and vary significantly by vendor – few experts are available
Custom built SCA OEs are expensive, time consuming, and limited High development, support, and maintenance costs Unable to support all required form factors Unable to support all required processors, RTOS, standards Unable to support all required component implementation languages Intolerant of standards evolution Struggle with compliance and waveform portability requirements Difficult to optimize and radio specific Require highly skilled and in-demand specialists Suffer from inconsistent funding and support Are not a required core competency of a SDR OEM Take valuable resources away from radio value-add Compete with more cost effective COTS products
Spectra OE
1212Spectra OE – Multi Standard COTS SDR Operating Environment
PrismTech’s Spectra OE – the fastest, smallest, COTS SCA OESuperior multi SDR standards support, including: SCA v2.2 or v2.2.2 or SWRADIO and in the future to SCA Next or even ESSOR standards
Most complete OE: ORB, COS, CF integrated and optimized in one COTS package
Support C or C++ or VHDL application components
Fastest throughput and lowest footprint – minimizes SW&P – 10x smaller than other SCA Oes
<1.5MB on GPP; <90kB on DSP; <3k logic cells on FPGA
Deploys waveforms quickly: concurrent component deployment; fast XML parsing
C++, C, and VHDL application components natively supported, no proxies
Spectra OE: SCA 2.2.2 Core Framework
Spectra OE: ICO
(Integrated Circuit ORB)
GPP DSP FPGA
RTOS/BIOS
BSP
13Spectra OE – Flexibility to Support Portability
‘SCA Everywhere’ : develop your waveform once – run anywhere!The only SCA solution across GPP, DSP and FPGA: superior standards compliance
Maximizes hardware independence of waveform: superior application portability
Supports application source code in C++, C, and VHDL: superior deployment options
Broadest and best platform supportProcessor choice, RTOS/BIOS choice, FPGA choice: ideal for SDR OEMs
COTS SDR boards pre-loaded with Spectra OE: ideal for labs and integrators
Scaleable: fixed, ground mobile, man-pack, handheld, small form-factor
Target build environments for popular platform choices
Spectra OE: SCA 2.2.2 Core Framework
Spectra OE: ICO
(Integrated Circuit ORB)
GPP DSP FPGA
RTOS/BIOS
BSP
14Spectra OE Benefits
Very efficient SCA CF implementation to support both C++ and/or C and/or VHDL waveform components Ultra lightweight embedded middleware (ORB and COS) implementationPre-integrated, optimized CF, ORB, Services and OS solutions “Out Of The Box”Complete vertical integration of the SCA OE – optimized for overall RTOS/ORB/COS/CF performance as a single embedded system….not a collection of parts!World-class SCA and embedded middleware experts ensure optimal design and implementationMultiple memory and processor configurations:
For single or separate address spaces Static or shared libraries
Supported on wide range of platforms:RTOS: Linux, Integrity, VxWorks, LynxOS, TI BIOS othersCPU: ARM, PowerPC, x86, DSP, FPGA
No export restrictions - is not subject to International Traffic in Arms Regulations (ITAR) or Joint Tactical Radio System (JTRS) export restrictions
15Spectra OE Main Components
Spectra SCA OE includes the following:SCA Components:
Domain Manager (also implements Application and ApplicationFactory interfaces)Device ManagerFile System ServiceNaming Service (included in Domain Manager implementation and based on e*ORB’s Naming Service)Event Service (included in Domain Manager implementation and based on e*ORB’s Event Service)Log ServiceExecutable Device (example)
Utilities:Boot loader Target loaderOeadmin
Embedded Middleware (bundled):e*ORB C and C++ editions for GPP
Embedded Middleware (optional):e*ORB C edition for DSPICO for FPGA
Bringing Architectural Consistency to SCA SDR
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
DSPGPP
e*ORBC & C++
FPGA
e*ORB CICO
SCA (GIOP) EverywhereSCA (GIOP) Everywhere
Extensible Transport FrameworkExtensible Transport Framework
Waveform Component
Waveform Component
Waveform Component
GPP DSP FPGA
16
OpenFusion e*ORB SDR
Common Mirco 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
OpenFusion e*ORB SDR Lightweight COS – Naming, Event & LogOpenFusion e*ORB SDR Lightweight COS – Naming, Event & Log
Thread per RequestThread per Request
UIOPUIOP
Key Features:Fully compliant with OMG’s minimumCORBA v1.0 specification & the JTRS’s SCA v2.2.2 specificationIDL compiler (C & C++)GIOP 1.1IIOP (TCP/IP) protocol as standardOMG’s Extensible Transport Framework - multi transport plug-in support for transports such as TCP/IP, UDP, Shared Memory, Unix Domain Sockets etc.Common Transport layer shared between C & C++ ORBs – write transport once & use with both ORBsPluggable RT CORBA SupportExtensible POA architecture Multithreaded architecture – configurable server side threading Support for native exceptionsRequest timeoutsLow footprint & overhead
C++ ORB footprint in 300KB range for a basic server, C ORB footprint < 80KB range for a basic server
High throughputLightweight Naming, Event & Log Services (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 C55x
17
OpenFusion Integrated Circuit ORB (ICO)
ICO CORBA Core Available For Any FPGA or ASIC
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
ClientClient
IDLIDL
ServerServer
IDLIDLVHDL Stubs
VHDL Stubs VHDL
Skels
VHDL Skels
FPGAFPGA
ICO IP CoreICO IP Core
Local TransportLocal Transport
GIOPGIOP
CDRCDR IOPIOP ReplyReplyExtensible Transport FrameworkExtensible Transport Framework
IIOPIIOP DIOPDIOP
EthernetEthernet RapidIORapidIO
ReceiverReceiver
TransmitterTransmitter
Business LogicBusiness LogicBusiness LogicBusiness Logic Business LogicBusiness Logic
Data In Data Out
18
Spectra OE Performance
Spectra OE: Industry-Leading Benchmark Results
SCA 2.2.2 OE Footprint Out-of-the-Box/No Optimization:
> 1.5 MB
Spectra Core Framework and ORB written in C language versus C++ to achieve very small footprint and optimal performance and portability
Only OE offering support for C++ and C code for all radio software, including waveforms
0
50
100
150
200
250
Simple SCA Resource (Linux OS)
C++ (kB)
C (kB)
Greatly reduced software footprint for SCA services and waveforms written in C versus C++
20
21The Most Important SCA OE Metrics
The key metrics to maximize performance and minimize SW&P
For the radio user Start-up Time
Battery life/size
For the radio developer Processor Memory Consumed
Processor Cycles Consumed
Start-up the RTOS
Start-up of the ORB, COS and CF (OE) Including SCA devices and services
Load first waveform Including SCA resources
Change application(unload/load)
22Start-up Time - Components
23Test Environment
SCA Operating Environment RTOS: WindRiver VxWorks 6.7 SCA OE: Spectra v2.x
HardwareBoard: GE Fanuc CP1AProcessor Type: Freescale PPC 7448, 1.4GHzMemory (RAM): 512MBFile System: NFSTransport: TCP/IP
Component Implementation Language C++The implementation language of the application components is not a significant factor in these benchmarksThe implementation language of the operating environment is!
24Start-up Time - Performance
Platform Start-up Times (Spectra OE)These times do not include the RTOS start-up time, which can vary significantly by product
SCA Configuration Start-up & Register with Domain Mgr (sec)
Shutdown and Unregister with Domain Mgr (sec)
1 Device 1.37 2.1
1 Service 1.09 2.08
1 Device + 1 Service 1.62 2.1
5 Devices 2.03 2.14
5 Services 1.35 2.09
5 Devices + 5 Services 2.39 2.17
10 Devices 2.79 2.26
10 Services 1.35 2.1
25Change Application Time - Performance
Application Start-up & Shut-down Times
SCA Configuration Install/Create (sec) Release/Uninstall (sec)
1 Device + 1 Resource 1.25 2.08
1 Device + 5 Resources 1.37 2.08
5 Devices + 5 Resources 1.83 2.08
1 Device + 10 Resources 1.55 2.12
5 Devices + 10 Resources 1.99 2.12
10 Devices + 10 Resources 2.54 2.12
1 Device + 1 Resource + 2 Connections
1.24 2.08
5 Devices + 5 Resources + 10 Connections
1.88 2.08
10 Devices + 10 Resources + 20 Connections
2.62 2.13
26Processor Memory - Requirement
Spectra SCA OE Memory RequirementSpectra OE deployed with statically built binaries and with each component running in a separate address space:
Component .*.text .*.data Total text/data
BootLoader 469820 42920 512740
DeviceManager 670720 46128 716848
DomainManager 626788 44660 671448
ExecutableDevice 361480 43664 405144
LogService 250232 26260 276492
Total Bytes 2582672
Total static OE footprint of approximately 2.5MB
If same components are co-located in the same address space then footprint can be reduced by approximately 1MB by removing ORB duplication + XML parser duplication + CF IDL stub and skeleton duplication
27How Does Spectra OE Do It?
Very efficient SCA CF implementation to support both C++ and/or C waveform components
Optimized CF/embedded middleware integration
Ultra lightweight embedded middleware (ORB and COS) implementation
Optimized middleware/RTOS integration
World-class SCA and embedded middleware experts ensure optimal design and implementation
Complete vertical integration of the SCA OE – optimized for overall RTOS/ORB/COS/CF performance as a single embedded system….not a collection of parts!
Spectra OE v2.5
Latest release of PrismTech’s SCA OE
Improvements in stability, performance and especially platform support
Integrated tooling support with Spectra CXBuild configurations available for latest platforms
New Target Loader functionality helps support integrated SCA compliance testing
SCA API Compliance tests (code, makefiles etc.,) automatically generated by Spectra CX
Host system can launch tests on target platform via Target Loader and test SCA components running on Spectra OE
SCA developers can also use Target Loader to support additional user specified tests
Detailed White Paper performance collateral for OE on new supported platforms
Target availability the end of July 2010
28
Spectra OE Planned Platform Support 2010
Host OS Target OS Target Hardware
Supported SCA
Release Language Tool Chain
Type Version Type Version CPU Type Model Board Version Name Version
Windows XP VxWorks 5.5.1 x86 Pentium IV PC 2.2.2 C & C++ Tornado 2.2
Windows XP VxWorks 5.5.1 PowerPCMPC8572PowerQUICC III CPCI6200 2.2.2 C & C++ Tornado 2.2
RHEL 5 VxWorks 6.7 x86 Pentium IV PC 2.2.2 C & C++ Workbench 3.1
RHEL 5 VxWorks 6.7 x86 Intel Atom Kontron 2.2.2 C & C++ Workbench 3.1
RHEL 5 VxWorks 6.8 ARM TIOMAP 35x Mistral 2.2.2 C & C++ Workbench 3.2
RHEL 5 VxWorks 6.7 PowerPC 8548 SB8548 2.2.2 C & C++ Workbench 3.1
RHEL 5 VxWorks 6.8 x86 Intel Nehalem 2.2.2 C & C++ Workbench 3.2
RHEL 5 VxWorks 6.8 ARM TI OMAP 35x Mistral 2.2.2 C & C++ Workbench 3.2
RHEL 5 TI BIOS DSP C64x Mistral 2.2.2 C Code Composer 3.3
RHEL 5 FPGA Xilinx Spartan 6 Mistral 2.2.2 VHDL
RHEL 5 Linux2.6.23 kernel PowerPC 8347
PowerQuicc II8347 2.2.2 C & C++ gcc
DENX ELDK 4.1 40
Windows XP FPGA Xilinx Virtex Pro IV Pro 4600 2.2.2 VHDL
Windows XP Integrity 5.0.10 PowerPC 405 EP405 2.2.2 C & C++ multi 4.2.4
RHEL 5 VxWorksMILS2.0 x86 Pentium IV PC 2.2.2 C & C++ Workbench 3.x
RHEL 5 WR Linux 3 x86 Pentium IV PC 2.2.2 C & C++ gcc 4.x
RHEL 5 VxWorks 6.8 PowerPC PXA-320 Zylonite 2.2.2 C & C++ Workbench 3.2
RHEL 5 Integrity 5.0.10 PowerPC PXA-320 Zylonite 2.2.2 C & C++ multi 4.2.4
Windows XP VxWorks 6.7 PowerPC Freescale MPC864D 2.2.2 C & C++ Workbench 3.1
29
In addition to the RTOS/hardware combinations already supported Spectra OE v 2.5 will be made available on the following platforms:
Spectra OE Roadmap
OpenFusion ICO v2 – target release date September 20102nd generation COTS implementation of PrismTech’s hardware ORB for FPGAsSCA compliant CORBA support for FPGAsSignificant performance and footprint (logic consumption) improvements over ICO v1 Platform Support (initial):
OE Performance Optimizations – target release date end of year 2010Additional RTOS support e.g., LynxOS 5.0 Longer term PrismTech are participating within the WINNF “SCA Next” initiative and are committed to support any new emerging standards that are produced by this work
30
Target Hardware Language Tool Chain
CPU Type Model Board Name
FPGA Altera Stratix II Altera Eval VHDL Modelsim ALTERA 6.5b + Quartus II v9.1
FPGA Altera Stratix III Altera Eval VHDL Modelsim ALTERA 6.5b + Quartus II v9.1
FPGA Altera Cyclone II Altera Eval VHDL Modelsim ALTERA 6.5b + Quartus II v9.1
FPGA Altera Cyclone III Altera Eval VHDL Modelsim ALTERA 6.5b + Quartus II v9.1
FPGA Xilinx Spartan 6 Mistral VHDL Modelsim Xilinx Edition III + ISE 12
FPGA Xilinx Virtex Pro IV Pro 4600 VHDL Modelsim Xilinx Edition III + ISE 12
The Spectra Product Family
Spectra OE - best-in-class SCA software platform performanceSCA Operating (deployment) Environment (ORB, COS, CF)
Spectra CX – best-in-class SCA developer productivityModel-based Software Engineering (MBSE) developer productivity tool (model, generate, validate, deploy)
Spectra DTP - best-in-class SCA feature set, ease-of-use, priceA pre-packaged application development and test platform (BB, IF, and RF hardware, OE, SCA devices and services, demo app, tools optional)
31
Spectra SDR/SCA Tools and Middleware
Spectra OE: e*ORBSpectra OE: e*ORB
Spectra OE: Core FrameworkSpectra OE: Core Framework
SCA InfrastructureSCA InfrastructureSCA InfrastructureSCA Infrastructure
Radio Application (waveform)
Radio Application (waveform)
Host Development Tools Target Radio Platform
RTOS RTOS
GPP/DSPGPP/DSP
BSPBSPASPASP
Spectra OE: ICOSpectra OE: ICO
FPGAFPGA
Spectra CX:Model-BasedDevelopment Tool
Spectra CX:Model-BasedDevelopment Tool
Eclipse WorkbenchEclipse Workbench
UML 2UML 2
Windows / Linux / UnixWindows / Linux / Unix
End-to-End: Model, Generate, Validate, Deploy
Generate
32
3333Products – Spectra CX
Spectra CX (SCX) is a model-driven development tool that simplifies, accelerates, and validates a significant proportion of the SCA development processModel
Powerful visual representation of SCA concepts ensures that every project team member has a global understanding of the system and can produce correct SCA artifacts.
SCX supports modeling of components, applications (waveforms), devices, platforms, and deployment of waveforms on target platforms.
ValidateSCX allows developers to produce SCA compliant software from day one.
Validation is built right into SCX providing automatic identification of errors in SCA-
compliant radio platforms and waveform applications. Generate
Spectra CX provides push-button generation of correct-by-construction descriptor files and documentation. By automatically generating the complete set of SCA compliant descriptor files, i.e. the entire SCA Domain Profile development time can be reduced from months to days
Automated generation of code implementing SCA component structure is provided through Spectra’s Code Generators. They automate the production of both SCA application code and SCA device code.
DevelopSpectra CX provides developers with a complete model-based development environment that will significantly reduce the time to develop and maintain their components.
Seamless integration with the Eclipse IDE allows developers to use their preferred tools for developing and managing source code that is linked to the model of the waveform.
SCX supports the integration of behavioral models created by 3rd party UML, Block Diagram, and State Chart design tools.
ExecuteSCX’s runtime monitor allows users to start the SCA CF, load an application to a platform and inspect it in real-time.
With runtime monitoring, developers can see if the deployment they expected to have is actually the one dynamically created by the CF.
TestAutomated testing of components and subsystems of an application (waveform) is provided with SCX, through the SCX SCA Test add-in.
SCX SCA Test allows users to generate, compile and execute test code, and view test results directly from the toolset. All tests can be executed on host or target systems.
.
3434Products – Spectra DTP4500
A pre-packaged COTS SCA development and test platform with great software tools, superior RF, good demos and docs, and an affordable priceThe entry-level Spectra DTP4500 configuration comes pre-integrated and packaged with:
Mistral’s OMAP 35x EVM development board providing baseband processing resources (GPP + DSP).PrismTech’s benchmark-setting SCA 2.2.2 compliant Operating Environment (incorporating: Core Framework, Radio services and Devices, ORB/COS, Wind River VxWorks RTOS, Device Drivers and BSP).Demonstration SCA Waveform / Application.Documentation.All available off-the-shelf with simple licensing and support contracts.
The entry-level DTP4500 package is seamlessly expandable by optionally adding:PrismTech’s Spectra CX tool for SCA component modelling, code generation, and compliance validation.DataSoft’s Monsoon RF Transceiver, this provides a base level of RF performance between 400 MHz and 4 GHz (extendable to 225 MHz) and provides FPGA processing resources.DataSoft’s RF Front-End to the Monsoon RF Transceiver to create a high performance RF specification fully-fieldable radio system.
Spectra DTP4500 is an ideal platform for:Waveform and application development/test teams in major radio OEMs and their end customers.
Enables both in-house and third-party development of SCA waveforms and applications for later deployment on target production radio platforms.
Advanced wireless communications (government and defense) laboratories conducting research in fields such as: cognitive radio, electronic warfare, and secure SDR waveforms.
Internal research and development (IR&D) and collaborative research projects (e.g. SBIR, Eurostars) related to advanced wireless communications.
Academic teaching and laboratory use
Independent waveform and application developers creating software IP for the SDR market
.
35Summary of Spectra OE Benefits
Time to MarketAvailable today, platform and form-factor agnostic
Security of supplyCOTS, source code
ResourcesLeverage expert skills
Compliance and PortabilityDesigned and built by SCA and waveform portability experts
Platform/technology supportGPP, DSP, FPGA; RTOS; SCA/v2.x and in the future SCA/ESSOR, SCA Next; C, C++, VHDL
Performance and FootprintQuite simply the smallest and fastest OE - by an order of magnitude
36Experience Spectra OE for yourself
Spectra OE is available for evaluation*
Spectra OE performance white papers
Contact:
Register: http://www.prismtech.com/spectra
E-mail: [email protected]
* Pre-qualification is required
36
Thank you for Participating
Today’s Presenter:
Andrew Foster, Spectra OE Product Manager
We invite you to visit our website:
www.prismtech.com/spectra
37