The Software Communications Architecture (SCA) is an open architecture framework that standardizes development of “Software Defined” systems. It aims to promote software reuse by enhancing portability, interoperability and configurability of software applications that run on embedded systems. It does so by “shielding” software applications on their interaction with the physical hardware using standardized APIs.
The Software Communications Architecture is a Component Based Development (CBD) framework where software components are ‘assembled’ to create software applications. SCA application components are built and tested individually. When assembled into an application, each component is seen as a black-box where only operations that can be invoked to/from the component are seen. The SCA greatly enhances CBD by providing location transparency, as well as operating system and programming language independence.
The Software Communications Architecture provides a software deployment engine called SCA Core Framework (CF) that runs on the embedded system. The SCA CF parses requirements of software components, and identifies suitable targets for deployment within the SCA system. Such requirements include definitions like the processor type (GPP, DSP, GPU, FPGA) in which the component is to execute, or resources like memory or mips needed for execution.
SCA Applications are safeguarded from changes in the underlying system software/hardware by abstracting the deployment platform. The SCA does so by providing an SCA Operating Environment (OE) that abstracts platform specifics like the Operating System (OS), Processor and CORBA ORB for inter process communication.
The Software Communications Architecture was originally developed by the U.S. military’s Joint Tactical Radio Systems (JTRS) to standardize the way in which Software Defined Radios (SDR) for the U.S. armed forces were to be built. Since then, the SCA has evolved with the input of the international radio community led by the Wireless Innovation Forum (WInnF). Most currently deployed SCA systems implement SCA version 2.2.2 with efforts currently underway to upgrade to SCA version 4.1.