e cognitive nodes. CHAPTER 2.4a The software defined radio as a platform for cognitive radio aspects, from the hardware's ability to support the re- creation and destruction of waveforms, as well as general quired signals to other performance aspects, such as system integration and maintenance. The goal of a soft- power consumption and silicon area. Traditional ap- ware architecture is to provide this underlying in- proaches can be used to estimate the needs at the RF and frastructure. The SCA is one such architecture. The SCA data acquisition levels. At the processing stage, it is provides the means to create and destroy waveforms, possible to create an estimate of a processing platform's manage hardware and distributed file systems, and ability to be able to support a particular set of signal manage the configuration of specific components. processing functions. With such an analysis, it is possible Finally, beyond programming methodologies and ar- to establish the appropriate mix of general-purpose chitectures are the actual languages that one can use for processors, DSPs, FPGAs, and CCMs for a particular set development of waveforms and the specific patterns that of signal processing needs. are chosen for the developed software. The various lan- In order to mimic the nature of a hardware-based guages have different strengths and weaknesses. C++ radio, with components such as mixers and amplifiers, and Java are the dominant languages in SDR today. CBP is a natural way to consider software for SDR. In Python, a scripting language, has become increasingly CBP, components are defined in terms of their interfaces popular in SDR applications, and is likely to be an integral and functionality. This definition provides the developer part of future SDR development. with significant freedom on the specific structure of that Much like the language selection, a design pattern for particular component. a particular component can have a dramatic effect on the Even though a developer may choose to use CBP for capabilities o