= Cognitive Radio Open Source System = CROSS is a research project at [http://wireless.vt.edu/ Wireless@VT] that is developing an open source Cognitive Radio architecture. The objective of the design is to develop a distributed & modular system that provides portability and interoperability between components developed in different programming languages, across different SDR and hardware platforms. By doing so, we hope to enable more flexible and streamlined development for cognitive radio systems. Users of CROSS can focus entirely on one aspect of the cognitive radio radio without developing or modifying components that have no direct relevance to their specific focus of research. == Launchpad == * [wiki:Cross/Download Download] - Download the current stable source. * [wiki:Cross/BuildGuide Build Guide] - How to build the CROSS framework and the reference implementations once you have the source. * [http://www.cornet.wireless.vt.edu/doxygen/html/ Documentation] - Doxygen Documentation for CROSS * [wiki:Cross/GetInvolved Get Involved] - Get Involved in CROSS Development! * [wiki:Cross/Contact Contact] - Join the CROSS discussion, get help, or just talk to the developers! == Reference Examples == * [wiki:Cross/ReferenceImplementation Stand-alone Reference Implementation] - How to build, install, and run the CROSS Case-Based Reasoning reference implementation. * [wiki:Cross/GNURadioReferenceImplementation GNUradio DSA Reference Implementation] - How to build, install, and run the CROSS DSA reference implementation. [[BR]] == The CROSS Architecture == Looking to learn more about CROSS? Here are some good places to start! ==== CROSS Components ==== The current open source system consists of 5 categories of [wiki:Cross/CoreComponents Core Components]. Several components are optional. * [wiki:Cross/CoreComponents#CognitiveRadioShell Cognitive Radio Shell] (CRS) * [wiki:Cross/CoreComponents#CognitiveEngine Cognitive Engine] (CE) * [wiki:Cross/CoreComponents#PolicyEngine Policy Engine] (PE) * [wiki:Cross/CoreComponents#ServiceManagementLayer Service Management Layer] (SML) * [wiki:Cross/CoreComponents#SoftwareDefinedRadioPlatform Software-Defined Radio Host Platform] ==== Intercomponent Communication ==== CROSS is a modular cognitive radio system framework that uses socket connections for inter-component communication. Using a socket connection for component communication allows distributed system components to be developed in a language-independent manner. Even though the Cognitive Radio Shell library and API are implemented in C++, the external modules such as the Cognitive Engine, Service Management Layer, and Policy Engine can be implemented in any language that supports a TCP/IP socket interface. In addition to the feature of language independent development, the natural benefit of a TCP/IP socket interface is the ability to operate modules remotely. The [wiki:Cross/CoreComponents#CognitiveRadioShell Cognitive Radio Shell] is located local to the radio hardware. However, a Cognitive Engine or Policy Engine can be located remotely on hardware more appropriate for complex optimization or for distributed policy decision making.