Changeset 285

Show
Ignore:
Timestamp:
06/16/09 16:12:04 (15 years ago)
Author:
wrodgers
Message:

updating SML demo

Location:
vtcross/trunk
Files:
10 modified

Legend:

Unmodified
Added
Removed
  • vtcross/trunk/COPYING

    r161 r285  
    1 link /usr/share/automake-1.10/COPYING 
     1link /usr/share/automake-1.9/COPYING 
  • vtcross/trunk/INSTALL

    r161 r285  
    1 link /usr/share/automake-1.10/INSTALL 
     1link /usr/share/automake-1.9/INSTALL 
  • vtcross/trunk/src/cognitive_engines/CognitiveEngine.cpp

    r278 r285  
    8181 
    8282    if(SML) { 
    83         RegisterServices(); 
     83         
    8484        RegisterComponent(); 
    8585        LOG("Cognitive Engine connected to SML at %s.\n", serverName); 
    8686        ReceiveRadioConfiguration(); 
    8787        ReceiveExperience(); 
     88         
     89        RegisterServices(); 
    8890    } 
    8991    else { 
     
    215217            delete [] p; 
    216218        }  
     219        else if(strcmp(buffer, "request_optimization_service") == 0) { 
     220            // THIS IS CURRENTLY IN DEMO MODE             
     221 
     222 
     223            /* Receive Set of Observables */ 
     224            LOG("\nCognitive Engine:: Receiving service name\n"); 
     225 
     226            memset(buffer, 0, 256); 
     227            ReadMessage(commandSocketFD,buffer); 
     228            LOG("\nCognitive Engine:: Got service name, %s\n", buffer); 
     229 
     230            /* Receive Set of Observables */ 
     231            LOG("\nCognitive Engine:: Receiving Observable Parameters\n"); 
     232 
     233            memset(buffer, 0, 256); 
     234            ReadMessage(commandSocketFD,buffer); 
     235            uint32_t numObservables = atoi(buffer); 
     236    
     237            Observable *o = new Observable[numObservables]; 
     238  
     239            for(size_t i = 0; i < numObservables; i++) { 
     240                memset(buffer, 0, 256); 
     241                ReadMessage(commandSocketFD, buffer); 
     242                o[i].name = std::string(buffer); 
     243     
     244                memset(buffer, 0, 256); 
     245                ReadMessage(commandSocketFD, buffer); 
     246                o[i].value = atof(buffer); 
     247            }   
     248 
     249            /* Receive Set of current Parameters */ 
     250            LOG("Cognitive Engine:: Receiving Current Transmission Parameters\n"); 
     251 
     252            memset(buffer, 0, 256); 
     253            ReadMessage(commandSocketFD, buffer); 
     254            uint32_t numCurrentParameters = atoi(buffer); 
     255    
     256            Parameter *cp = new Parameter[numCurrentParameters]; 
     257  
     258            for(size_t i = 0; i < numCurrentParameters; i++) { 
     259                memset(buffer, 0, 256); 
     260                ReadMessage(commandSocketFD, buffer); 
     261                cp[i].name = std::string(buffer); 
     262     
     263                memset(buffer, 0, 256); 
     264                ReadMessage(commandSocketFD, buffer); 
     265                cp[i].value = atof(buffer); 
     266            }   
     267            LOG("Cognitive Engine:: Processing parameters....\n"); 
     268 
     269            Parameter *solutionSet; 
     270             
     271            //solutionSet = GetSolution(o,cp); 
     272 
     273            // TODO need to actually do something with the observables here 
     274            
     275            LOG("Cognitive Engine:: Sending Optimal Parameters to Application.\n"); 
     276            char numParametersChar[10]; 
     277            char solutionValue[50]; 
     278            sprintf(numParametersChar, "%i", radioInfo->numParameters); 
     279            SendMessage(commandSocketFD, numParametersChar); 
     280            for(size_t i = 0; i < radioInfo->numParameters; i++) { 
     281                //SendMessage(commandSocketFD, solutionSet[i].name.c_str()); 
     282                SendMessage(commandSocketFD, "test"); 
     283                //memset(solutionValue, 0, 50); 
     284                //sprintf(solutionValue, "%f", solutionSet[i].value); 
     285                //SendMessage(commandSocketFD, solutionValue); 
     286                SendMessage(commandSocketFD, "00"); 
     287            } 
     288 
     289            delete [] o; 
     290            delete [] cp; 
     291        } 
    217292        else if(strcmp(buffer, "request_optimization") == 0) { 
    218293             
     
    367442CognitiveEngine::RegisterComponent() 
    368443{ 
     444    char buffer[256]; 
    369445    SendMessage(commandSocketFD, "register_engine_cognitive"); 
    370446    LOG("Cognitive Engine:: Registration message sent to shell.\n"); 
     447 
     448    memset(buffer, 0, 256); 
     449    ReadMessage(commandSocketFD, buffer); 
    371450} 
    372451 
     
    390469 
    391470    SendMessage(commandSocketFD, "register_service"); 
    392     SendMessage(commandSocketFD, "jam_wifi"); 
     471    SendMessage(commandSocketFD, "test_srv"); 
    393472 
    394473    SendMessage(commandSocketFD, "register_service"); 
    395     SendMessage(commandSocketFD, "signal_detection"); 
     474    SendMessage(commandSocketFD, "test_srv1"); 
    396475 
    397476    SendMessage(commandSocketFD, "register_service"); 
    398     SendMessage(commandSocketFD, "max_throughput"); 
     477    SendMessage(commandSocketFD, "test_srv2"); 
    399478 
    400479    SendMessage(commandSocketFD, "register_service"); 
    401     SendMessage(commandSocketFD, "jam_bluetooth"); 
     480    SendMessage(commandSocketFD, "test_srv3"); 
     481 
    402482} 
    403483 
     
    409489 
    410490    SendMessage(commandSocketFD, "deregister_service"); 
    411     SendMessage(commandSocketFD, "jam_wifi"); 
     491    SendMessage(commandSocketFD, "test_srv"); 
    412492 
    413493    SendMessage(commandSocketFD, "deregister_service"); 
    414     SendMessage(commandSocketFD, "signal_detection"); 
     494    SendMessage(commandSocketFD, "test_srv1"); 
    415495 
    416496    SendMessage(commandSocketFD, "deregister_service"); 
    417     SendMessage(commandSocketFD, "max_throughput"); 
     497    SendMessage(commandSocketFD, "test_srv2"); 
    418498 
    419499    SendMessage(commandSocketFD, "deregister_service"); 
    420     SendMessage(commandSocketFD, "jam_bluetooth"); 
     500    SendMessage(commandSocketFD, "test_srv3"); 
    421501 
    422502} 
     
    433513    ReadMessage(commandSocketFD, buffer); 
    434514    radioInfo->numUtilities = atoi(buffer); 
    435      
     515    LOG("Cognitive Engine:: Receiving Radio Configuration. %s\n",buffer); 
     516 
     517 
    436518    for(size_t i = 0; i < radioInfo->numUtilities; i++) { 
    437519        memset(buffer, 0, 256); 
  • vtcross/trunk/src/cognitive_engines/cbr_demo.cpp

    r222 r285  
    3131       ERROR(1, "Usage: %s hostname port\n", argv[0]); 
    3232     
    33     CognitiveEngine cognitiveEngine(argv[1], argv[2], false); 
     33    CognitiveEngine cognitiveEngine(argv[1], argv[2], true); 
    3434 
    3535    LOG("Waiting for signal...\n"); 
  • vtcross/trunk/src/include/vtcross/components.h

    r281 r285  
    114114         * shell with the passed hostname and port. 
    115115         */ 
    116         ServiceManagementLayer(const char* SML_Config, const char* serverName, const char* serverPort); 
     116        ServiceManagementLayer(const char* SML_Config, const char* serverName, const char* serverPort, int16_t clientPort); 
    117117 
    118118        /* Connect and register with the shell component at the passed hostname 
     
    187187        bool CE_Present; 
    188188        int32_t activeMission; 
     189 
     190        int16_t SMLport; 
    189191}; 
    190192 
  • vtcross/trunk/src/libvtcross/libvtcross.cpp

    r280 r285  
    6767    SendMessage(socketfd, activeMission); 
    6868 
    69     memset(buffer, 0, 256); 
    70     ReadMessage(socketfd, buffer); 
    71     uint32_t ret = atoi(buffer); 
     69    //memset(buffer, 0, 256); 
     70    //ReadMessage(socketfd, buffer); 
    7271 
    73     return ret; 
     72    return 1; 
    7473} 
    7574 
  • vtcross/trunk/src/libvtcross/libvtcross_demo_sml.cpp

    r283 r285  
    3030    uint32_t numObservables = 2; 
    3131 
    32     for(size_t i = 0; i < 10; i++) { 
     32    //for(size_t i = 0; i < 10; i++) { 
    3333         
    3434        Observable *o = new Observable[2]; 
     
    4141        o[1].value = 12.00; 
    4242 
    43         if(i == 0) { 
     43        //if(i == 0) { 
    4444            currentParameters[0].name = "bandwidth"; 
    4545            currentParameters[0].value = 300.0; 
    4646            currentParameters[1].name = "tx_power"; 
    4747            currentParameters[1].value = 10.0; 
    48         } else { 
    49             currentParameters[0].value = p[0].value; 
    50             currentParameters[1].value = p[1].value; 
    51         } 
     48       // } else { 
     49       //     currentParameters[0].value = p[0].value; 
     50       //     currentParameters[1].value = p[1].value; 
     51       // } 
    5252 
    5353 
     
    5555        // Note: mission name must match a mission  
    5656        // in the SML xml file 
    57         ret = SetActiveMission("test1"); 
     57        SetActiveMission("0"); 
    5858 
    5959        // Send a request to the system for a new set of  
    6060        //  parameters. 
    61         //p = GetOptimalParameters(o,numObservables,currentParameters,numParameters); 
     61        p = GetOptimalParameters(o,numObservables,currentParameters,numParameters); 
    6262         
    63         //LOG("Application:: Received the following parameters.\n"); 
     63        LOG("Application:: Received the following parameters.\n"); 
    6464         
    65         //for(size_t i = 0; i < numParameters; i++) { 
    66         //    LOG("%s:: %f\n", p[i].name.c_str(), p[i].value); 
    67         //} 
     65        for(size_t i = 0; i < numParameters; i++) { 
     66            LOG("%s:: %f\n", p[i].name.c_str(), p[i].value); 
     67        } 
    6868 
    6969        // Simulate the REAL observable values after the 
     
    7979        delete [] p;  
    8080        delete [] o;  
    81     } 
     81    //} 
    8282 
    8383    return 0; 
  • vtcross/trunk/src/service_management_layer/ServiceManagementLayer.cpp

    r282 r285  
    133133//Also, their sizes are hardcoded into the code in various places; a fix for a future version. 
    134134ServiceManagementLayer::ServiceManagementLayer(const char* SML_Config, \ 
    135         const char* serverName, const char* serverPort) 
     135        const char* serverName, const char* serverPort, int16_t clientPort) 
    136136{ 
    137137    LOG("Creating Service Management Layer.\n"); 
    138138    _SML_Config = SML_Config; 
     139    SMLport = clientPort; 
    139140 
    140141    ConnectToShell(serverName, serverPort); 
     
    588589            break; 
    589590    } 
     591 
     592    LOG("ServiceManagementLayer:: Received Set Active Mission command: %i\n",missID); 
    590593    //For each service in the mission 
    591594    for(int i = 0; i < miss[activeMission].numServices; i++) 
     
    620623        //Nothing to be done for conditionals at this stage 
    621624    } 
    622  
     625  
     626    SendMessage(shellSocketFD, "ack"); 
    623627 
    624628    //printf("\nhere ---%d, %d---\n", miss[activeMission].services[0].componentID, miss[activeMission].services[1].componentID); 
     
    12781282    fd_set sockSet, shellSet; 
    12791283 
    1280     cogEngSrv = CreateTCPServerSocket(2044); 
     1284    cogEngSrv = CreateTCPServerSocket(SMLport); 
    12811285    int32_t maxDescriptor = cogEngSrv; 
    12821286 
  • vtcross/trunk/src/service_management_layer/sml_demo.cpp

    r279 r285  
    5050 
    5151 
    52     if(argc < 3) 
    53        ERROR(1, "Usage: %s config hostname port\n", argv[0]); 
     52    if(argc < 5) 
     53       ERROR(1, "Usage: %s config hostname shell_port client_port\n", argv[0]); 
    5454  
    55     ServiceManagementLayer SML(argv[1], argv[2], argv[3]); 
     55    ServiceManagementLayer SML(argv[1], argv[2], argv[3], atoi(argv[4])); 
    5656    SML.StartSMLServer();      
    5757} 
  • vtcross/trunk/src/shell/CognitiveRadioShell.cpp

    r281 r285  
    123123    sprintf(counter, "%d", radio_info->numUtilities); 
    124124    SendMessage(socketFD, counter); 
     125    LOG("Cognitive Radio Shell:: Sending radio configuration to Cognitive Engine. %s\n",counter); 
    125126    for(size_t i = 0; i < radio_info->numUtilities; i++) { 
    126127        SendMessage(socketFD, utils[i].name.c_str()); 
     
    187188    char numberExpString[50]; 
    188189 
    189     sprintf(numberExpString, "%i", numberExp); 
    190     SendMessage(socketFD, numberExpString);  
     190    sprintf(numberExpString, "%d", numberExp); 
     191    SendMessage(socketFD, "test");  //TODO modified 
    191192 
    192193    char buffer[256]; 
     
    198199        return 0; 
    199200    } 
    200  
     201    //printf("done sending exp \n"); 
    201202    return 1; 
    202203} 
     
    646647{ 
    647648    char buffer[256]; 
    648  
     649    //printf("here\n"); 
    649650    ReadMessage(socketFD, buffer); 
    650651 
     
    729730        /* Zero socket descriptor vector and set for server sockets */ 
    730731        /* This must be reset every time select() is called */ 
    731         FD_ZERO(&sockSet); 
     732        //FD_ZERO(&sockSet); 
    732733        FD_SET(servSock[primary], &sockSet); 
    733734        FD_SET(servSock[policy], &sockSet); 
     
    749750                if(FD_ISSET(port, &sockSet)) { 
    750751                    desc_ready -= 1; 
    751  
    752752                    /* Check if request is new or on an existing open descriptor */ 
    753753                    if((port == servSock[primary]) || (port == servSock[policy]) || (port == servSock[command])) {  
     
    763763                            if(port == servSock[policy]) 
    764764                                policySocketFD = new_sd; 
     765                            //printf("%d %d %d :: %d\n", ceSocketFD, commandSocketFD, policySocketFD, new_sd); 
    765766 
    766767                            HandleMessage(new_sd);