root/vtcross/trunk/src/libvtcross/libvtcross_demo.cpp @ 230

Revision 230, 1.7 KB (checked in by trnewman, 15 years ago)

Added a loop in the demo to actually adapt.

Added simple adaptation functionality and proper db querying in the CE.

Line 
1/* Virginia Tech Cognitive Radio Open Source Systems
2 * Virginia Tech, 2009
3 *
4 * TODO LICENSE INFORMATION GOES HERE
5 */
6
7/* TODO DESCRIPTION OF FILE.
8 *
9 * This file is a temporary demo of a policy engine using some of our socket
10 * communication functions. This is *not* an actual implementation of our
11 * defined PolicyEngine class.
12 */
13
14
15#include <cstdlib>
16#include <cstring>
17#include <stdint.h>
18
19#include "vtcross/libvtcross.h"
20#include "vtcross/socketcomm.h"
21
22int32_t
23main(int32_t argc, char *argv[])
24{
25
26        for(size_t i = 0; i < 10; i++) {
27    Observable *o = new Observable[2];
28    Parameter *currentParameters = new Parameter[2];
29    Parameter * p;
30
31        uint32_t numParameters;
32        uint32_t numObservables;
33        uint32_t numUtilities;
34
35    o[0].name = "throughput";
36        o[0].value = 150.00;
37    o[1].name = "PER";
38        o[1].value = 12.00;
39
40        if(i == 0) {
41    currentParameters[0].name = "bandwidth";
42    currentParameters[0].value = 300.0;
43    currentParameters[1].name = "tx_power";
44    currentParameters[1].value = 10.0;
45
46        } else {
47    currentParameters[0].value = p[0].value;
48    currentParameters[1].value = p[1].value;
49        }
50    p = GetOptimalParameters(o,2,currentParameters,2);
51    numParameters = GetNumParameters();
52    numObservables = GetNumObservables();
53    numUtilities = GetNumUtilities();
54
55        printf("Application:: Received the following parameters.\n");
56       
57        for(size_t i = 0; i < numParameters; i++) {
58                printf("%s:: %f\n",p[i].name.c_str(),p[i].value);
59        }
60
61        // Try them out! Do they work?
62   
63    o[0].value = 0.5*p[0].value + .1*p[1].value;
64    o[1].value = 15-p[1].value;
65
66        UpdateParameterPerformance(p,numParameters,o,numObservables);   
67       
68       
69        delete [] p;
70    delete [] o;
71        }
72        return 0;
73}
74
Note: See TracBrowser for help on using the browser.