Changes between Version 2 and Version 3 of Cross

Show
Ignore:
Timestamp:
06/15/09 10:09:42 (15 years ago)
Author:
trnewman
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Cross

    v2 v3  
    55An effort is currently beginning at [http://wireless.vt.edu/ Wireless @ VT] to develop an open source Cognitive Radio architecture.  The objective of the design is to develop a modular system that provides portability and interoperability between components developed using different programming languages.  Not only will this allow for flexible development for the cognitive radio system, but will allow developers to focus entirely on the component of choice and to not have to worry about developing or modifying components that have no relevance to their specific focus of research. 
    66 
    7 The current open source system consists of 6 categories of components with a couple being optional : 
     7The current open source system consists of 6 categories of [wiki:Cross/CoreComponents components] with a couple being optional : 
    88 
    99 * [#CognitiveRadioShell Cognitive Radio Shell] (CRS) 
     
    1515** Optional – A basic cognitive radio system is functional without this component. 
    1616 
    17 The VT-CROSS is a modular cognitive radio system framework that utilizes socket connections for the inter-component communication method.  Utilizing a socket connection for component communication allows the system components to be developed in a language independent manner.  Even though the Cognitive Radio Shell library and API will be 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. 
     17The CROSS is a modular cognitive radio system framework that utilizes socket connections for the inter-component communication method.  Utilizing a socket connection for component communication allows the system components to be developed in a language independent manner.  Even though the Cognitive Radio Shell library and API will be 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. 
    1818 
    1919A sample of languages with a full socket interface implementation: 
     
    2929In 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 Cognitive Radio Shell is located local to the radio hardware, however, the Cognitive Engine or Policy Engine can be located remotely on hardware more appropriate for complex optimization or for distributed policy decision making.  Clearly, the remote operation depends upon the timing critical nature of the return of the optimization results.  In no way does the TCP/IP socket communication limit the Cognitive Radio System to only remote modules, in fact local socket connections require little overhead and provide for a flexible method of connecting these major Cognitive Radio System components.   
    3030 
    31  == Core Components == 
    32 The following sections introduce the components to the VT-CROSS framework.  The core components are the Cognitive Radio Shell and the Cognitive Engine.  A fully functional system can be operated with only these two components and a Software-Defined Radio Host Platform.  Optional components such as the Policy Engine and Service Management Layer provide added capabilities that can dramatically improve the functionality of the system. 
    33  
    34 The VT-CROSS project group has developed an [http://en.wikipedia.org/wiki/API Application Programming Interface] (API) and communication protocols for each of the components in the system.  For detailed information about the individual component APIs and communication protocols, refer to the corresponding component sections. 
    35  
    36  === Cognitive Radio Shell === 
    37  Message passer / XML Parser / Interface to hardware 
    38  
    39 The CRS initially parses XML configuration file that specifies the operation of the Cognitive Radio system.  This XML configuration file is assumed to be located locally with the CRS.  An example of this XML file is shown below: 
    40  
    41 {{{ 
    42 #!xml 
    43 <engine name="myengine"> 
    44  
    45     <!-- utilities : QoS metrics --> 
    46     <utilities> 
    47         <utility name="throughput" units="kbps" goal="max" target="125" /> 
    48         <utility name="spectral_efficiency" units="b/s/Hz" goal="max" /> 
    49         <utility name="log10_ber" units="none" goal="min" target="-3" /> 
    50         <!-- <utility name="latency" units="ms" goal="min" target=100 /> --> 
    51     </utilities> 
    52  
    53     <!-- radio parameters --> 
    54     <parameters> 
    55         <parameter name="mod_scheme" min="1" max="4" step="1"> 
    56             <!-- BPSK, QPSK, 8-PSK, 16-QAM --> 
    57             <affect utility="throughput" relationship="improve" /> 
    58             <affect utility="spectral_efficiency" relationship="improve" /> 
    59             <affect utility="log10_ber" relationship="degrade" /> 
    60         </parameter> 
    61         <parameter name="tx_power" units="dBm" min="-30.0" max="0.0" step="0.1"> 
    62             <affect utility="log10_ber" relationship="improve"/> 
    63         </parameter> 
    64     </parameters> 
    65  
    66     <!-- link/channel observations --> 
    67     <observables> 
    68         <observable name="SNR"> 
    69             <affect utility="log10_ber" relationship="improve" /> 
    70         </observable> 
    71     </observables> 
    72 </engine> 
    73  
    74  
    75 }}} 
    76  
    77 [wiki:Cross/CognitiveRadioAPI VTCROSS Cognitive Radio API and Communication Protocol Information][[BR]] 
    78  
    79 [wiki:Cross/CognitiveRadioAPI_CCP VTCROSS Component Communication Protocol Information][[BR]] 
    80  
    81 [wiki:Cross/CognitiveRadioAPI_Components VTCROSS Component API and Communication Protocol Information] 
    82  
    83  === Cognitive Engine === 
    84  
    85 [wiki:Cross/CognitiveEngineAPI VTCROSS Cognitive Engine API and Communication Protocol Information] 
    86  
    87  === Policy Engine === 
    88  
    89 [wiki:Cross/PolicyEngineAPI VTCROSS Policy Engine API and Communication Protocol Information] 
    90  
    91 Explain me. 
    92  
    93  === Service Management Layer  === 
    94  
    95 Using a Service Management Layer essentially turns the VT-CROSS system into a Service Oriented Architecture.  The SML is responsible for requesting optimization from the appropriate Cognitive Engines that provide the services that correspond to the current Active Mission.  This concept operates at a higher layer than the traditional system without an SML.  Traditionally the system optimizes to meet a single set of objectives.  With the SML, the system is on a "mission", and it make take several, fundamentally different, optimizations from Cognitive Engines to achieve the Mission goals.  Each service may be executed using feedback from a previous service. 
    96  
    97 As a simple example, we present an example SML configuration file. 
    98  
    99  
    100 {{{ 
    101 #!xml 
    102 <mission name="DSACommunication" id="0"> 
    103     <services> 
    104         <service name="SpectrumScan"></service> 
    105         <service name="OptimizeParameters"></service> 
    106     </services> 
    107 </mission> 
    108  
    109 <mission name="RelayNearestNeighbor" id="1"> 
    110     <services> 
    111         <service name="DetectNodes"></service> 
    112         <service name="OptimizeParameters"></service> 
    113     </services> 
    114 </mission> 
    115  
    116 <mission name="JamAllEnemy" id="2"> 
    117     <services> 
    118         <service name="ClassifyEnemySignals"></service> 
    119             <if value="wifi"> 
    120                 <service name="DetectWiFiChannels"></service> 
    121                 <service name="OptimizeJamWiFi"></service> 
    122             <if value="bluetooth"> 
    123                 <service name="DetectBluetoothDevices"></service> 
    124                 <service name="OptimizeJamBluetooth"></service> 
    125     </services> 
    126 </mission> 
    127  
    128 <mission name="CovertJamEnemy" id="3"> 
    129     <services> 
    130         <service name="ClassifyEnemySignals"></service> 
    131             <if value="wifi"> 
    132                 <service name="DetectWiFiChannels"></service> 
    133                 <service name="OptimizeJamWiFi"></service> 
    134             <if value="bluetooth"> 
    135                 <service name="DetectBluetoothDevices"></service> 
    136                 <service name="OptimizeJamBluetooth"></service> 
    137        <service name="MonitorForReemergedSignals"></service> 
    138     </services> 
    139 </mission> 
    140  
    141  
    142  
    143 }}} 
    144  
    145  
    146  
    147  
    148 [wiki:Cross/ServiceManagementLayerAPI VTCROSS Service Management Layer API and Communication Protocol Information] 
    149  
    150  
    151  
    152  === Software Defined Radio Platform === 
    153  
    154 USRP1/2 for now 
    155  
    156 ---- 
    157  == Case-Based Reasoning Reference Implementation == 
    158 A reference implementation of a cognitive engine model is currently under development.  The initial implementation will consist of a case-based reasoning (CBR) engine developed in C and using the SQLite database code base to implement the database functionality.  The CBR functionality will consist of retrieving cases that are relevant to the current operating environment and communication objectives and adapt the cases in order to provide a better set of transmission parameters for the current given environment.  After the case is adapted, the set of transmission parameters is sent back to the CRS where the parameter values are applied to the radio resources.  Feedback is gathered from the receiver that provides information about how well the transmission parameters have met the performance objective goals.  This feedback is sent to the CE to provide for better adaptation in the future.  In the CBR implementation, the cases are updated with this new information.   
    159  
    160 [[Image(cross_sml.png)]] 
     31Details on the [wiki:Cross/CoreComponents Core Components] of the CROSS framework can be found [wiki:Cross/CoreComponents here].