Software Communications Architecture
![]() |
![]() | This article includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. (May 2014) |
The Software Communications Architecture (SCA) is an open architecture framework that defines a standard way for radios to instantiate, configure, and manage waveform applications running on their platform. SCA uses standard Application Programming Interfaces (APIs) to define the key software interfaces that allow the waveform application and radio platform to interact.
Overview
A software-defined radio's transmitter can be changed through software, not hardware, to alter frequency range, modulation type, and maximum radiated or conducted output power. The Software Communication Architecture (SCA) outlines several interfaces, which describe what operations the various components can be made to do.
Member variables
Member variables are not exposed to the outside world. The device interface in the diagram provides an interface with attributes, shown in the first compartment, and operations, shown in the second. It is easy to make the erroneous association of CORBA attributes to C++ member variables and CORBA operations to C++ operations. In CORBA, both attributes and operations are operations. Attributes have implicit set and query operations. Again using the device interface in the diagram as an example, the label attribute has implicit operation signatures:
- label(in listString:string):void
- label(void):string
The software component provides the internal storage variable for the label string. It is not directly available to the outside world. The CORBA interface provides the implicit operations for changing the variable.
In contrast, the allocateCapacity() operation of the device interface has a defined function signature instead of the implicit signatures of attributes. Since operations handle exceptions better, many programmers use only operations in an interface definition. However, the SCA uses both attributes and operations in some interfaces.
Resource interface
The SCA's resource interface inherits interfaces from four other interfaces:
- TestableObject
- PortSupplier
- LifeCycle
- PropertySet
The resource interface is inherited by applications and hardware devices. Because of its importance, the example in this section will define a software component that inherits the resource interface. It could inherit other interfaces, but this would add complexity without providing further insight into the development of SCA components.
Component Placement
- The CORBA middleware allows software components to be distributed anywhere within the radio.
- The Core Framework provides distributed object launchers for each processor board within the set.
- The radio’s application factory launches a waveform or application by providing the object files and execution parameters to the various processors within the radio.
After objects are instantiated, they may be co-located, or distributed among the different processing elements within the radio. These objects do not have any knowledge of other application objects or the hardware resources within the radio.
A set of XML files is associated with each software and hardware object. These files provide information about the objects, including their port references. The application factory parses these files along with an application schematic file, the Software Assembly Descriptor (SAD). The SAD provides the necessary information to connect the hardware and software components together.
Hardware Configuration
The SCA System Communications Architecture does not specify a hardware configuration. However, one of the requirements for SCA certification is that the waveform must be ported successfully to a government test platform.
Most previous military radios had a specialized downconverter and modulator integrated circuits. With the non-standard JTRS configuration shown here, the waveform developers must provide FPGA code that can perform the function of operating directly with the A/Ds and D/As. The hardware does not provide direct digital synthesizers and upsamplers typical in previous radios. The waveform designer must provide that functionality in specialized FPGA code that constitutes part of the delivered waveform.
See also
External links
- Software Communications Architecture Homepage
- SCA Waveform Development - Etherstack
- SCA Integrated Development Environment - NordiaSoft - Makers of SCA Architect and the SCARI Core Framework
- SCA Tools, Software Infrastructure, Development and Test Platforms - PrismTech Spectra
- SCA and FACE Alignment
- Wireless Innovation Forum - International Consortium