oad The software defined radio as a platform for cognitive radio CHAPTER 2.4a games and other applications to execute on the handset but lacks the resources for more traditional storage and management structures. Python Resource Python is an "interpreted, interactive, OOP language" [12]. Python is not an embedded language and it is not designed for the mobile environment, but it can play a significant role in wireless applications, as evidenced by its use by GNURadio. What makes Python powerful is Figure 2.4a-15 Fan-out structure for a component, the resource that it combines the benefits of object-oriented design uses output ports but is the only entry point into the component. with the ease of an interpreted language. With an interpreted language, it is relatively easy to functionality. At the most basic level, it is possible to create simple programs that will support some basic create a component class that inherits from both Re- functionality. Python goes beyond most interpreted lan- source and Port. In such a case, the component would guages by adding the ability to interact with other system function as a single thread and would be able to respond libraries. For example, by using Python one can easily write to only one event at a time. A diagram of this simple a windowed application through the use of wxWidgets. Just component is seen in Figure 2.4a-14. as Python can interact with wxWidgets, it can interact with A more sophisticated approach is to separate the modules written in C/C++, making it readily extendable. output ports into separate threads, each interfacing with Python also provides memory management structures, the primary Resource through some queue. This ap- especially for strings, that make application development proach allows the creation of fan-out structures while at simpler. Finally, because Python is interpreted, it is the same time maintaining a relatively simple request os independent. The system requires the addition of response structure. A diagram of this fan-out structure is an in