Cross/CoreComponents

Core Components

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.

The VT-CROSS project group has developed an  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.

Cognitive Radio Shell

Message passer / XML Parser / Interface to hardware

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:

<engine name="myengine">

    <!-- utilities : QoS metrics -->
    <utilities>
        <utility name="throughput" units="kbps" goal="max" target="125" />
        <utility name="spectral_efficiency" units="b/s/Hz" goal="max" />
        <utility name="log10_ber" units="none" goal="min" target="-3" />
        <!-- <utility name="latency" units="ms" goal="min" target=100 /> -->
    </utilities>

    <!-- radio parameters -->
    <parameters>
        <parameter name="mod_scheme" min="1" max="4" step="1">
            <!-- BPSK, QPSK, 8-PSK, 16-QAM -->
            <affect utility="throughput" relationship="improve" />
            <affect utility="spectral_efficiency" relationship="improve" />
            <affect utility="log10_ber" relationship="degrade" />
        </parameter>
        <parameter name="tx_power" units="dBm" min="-30.0" max="0.0" step="0.1">
            <affect utility="log10_ber" relationship="improve"/>
        </parameter>
    </parameters>

    <!-- link/channel observations -->
    <observables>
        <observable name="SNR">
            <affect utility="log10_ber" relationship="improve" />
        </observable>
    </observables>
</engine>


VTCROSS Cognitive Radio API and Communication Protocol Information

VTCROSS Component Communication Protocol Information

VTCROSS Component API and Communication Protocol Information

Cognitive Engine

VTCROSS Cognitive Engine API and Communication Protocol Information

Policy Engine

VTCROSS Policy Engine API and Communication Protocol Information

Explain me.

Service Management Layer

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.

As a simple example, we present an example SML configuration file.

<mission name="DSACommunication" id="0">
    <services>
        <service name="SpectrumScan"></service>
        <service name="OptimizeParameters"></service>
    </services>
</mission>

<mission name="RelayNearestNeighbor" id="1">
    <services>
        <service name="DetectNodes"></service>
        <service name="OptimizeParameters"></service>
    </services>
</mission>

<mission name="JamAllEnemy" id="2">
    <services>
        <service name="ClassifyEnemySignals"></service>
            <if value="wifi">
                <service name="DetectWiFiChannels"></service>
                <service name="OptimizeJamWiFi"></service></if>
            <if value="bluetooth">
                <service name="DetectBluetoothDevices"></service>
                <service name="OptimizeJamBluetooth"></service></if>
    </services>
</mission>

<mission name="CovertJamEnemy" id="3">
    <services>
        <service name="ClassifyEnemySignals"></service>
            <if value="wifi">
                <service name="DetectWiFiChannels"></service>
                <service name="OptimizeJamWiFi"></service></if>
            <if value="bluetooth">
                <service name="DetectBluetoothDevices"></service>
                <service name="OptimizeJamBluetooth"></service></if>
       <service name="MonitorForReemergedSignals"></service>
    </services>
</mission>



VTCROSS Service Management Layer API and Communication Protocol Information

Software Defined Radio Platform

USRP1/2 for now


Case-Based Reasoning Reference Implementation

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.

Attachments