unications. This means that in an imple- vironment for Wireless (BREW), and Python. mentation, the communications between two baseband processing blocks, such as a filter and an energy detector, would be outside the scope of the specifications. This Java is an object-oriented language developed at limitation provides a limit to the level of granularity that Sun Microsystems that allows the development of the SCA supports, at least at the level of the API. To platform-independent software while also providing some increase the granularity to a level comparable to that shown significant housekeeping capabilities to the developer. in the example in Section 2.4a.2, an additional API is Fundamentally, Java is a compiled language that is required. interpreted in real-time by a virtual machine (VM). The CHAPTER 2.4a The software defined radio as a platform for cognitive radio developer creates the Java code and compiles it into been limited. There are three key problems with Java: bytecodes by the Java compiler, and the bytecodes are memory, processing overhead, and predictability. then interpreted by the Java VM (JVM) running on the Memory: Most efforts to date in Java for the embed- host processor. The JVM has been developed in some ded world revolve around the reduction of the overall language and compiled to run (as a regular application) on memory footprint. One such example is the the native processor, and hence should be reasonably Connected Limited Device Configuration (CLDC). efficient when it runs on the target processor. The benefit The CLDC provides a set of API and a set of VM from such an approach is that it provides the developer features for such constrained environments. the ability to "write once, run anywhere." Processing Overhead: Common sense states that Java also provides some housekeeping benefits that can processing overhead is a problem whose relevance best be defined as dreamlike for an embedded pro- is likely to decrease as semiconductor manufacturing grammer, the most prominent of which is ga