Changeset 285
- Timestamp:
- 06/16/09 16:12:04 (15 years ago)
- Location:
- vtcross/trunk
- Files:
-
- 10 modified
Legend:
- Unmodified
- Added
- Removed
-
vtcross/trunk/COPYING
r161 r285 1 link /usr/share/automake-1. 10/COPYING1 link /usr/share/automake-1.9/COPYING -
vtcross/trunk/INSTALL
r161 r285 1 link /usr/share/automake-1. 10/INSTALL1 link /usr/share/automake-1.9/INSTALL -
vtcross/trunk/src/cognitive_engines/CognitiveEngine.cpp
r278 r285 81 81 82 82 if(SML) { 83 RegisterServices();83 84 84 RegisterComponent(); 85 85 LOG("Cognitive Engine connected to SML at %s.\n", serverName); 86 86 ReceiveRadioConfiguration(); 87 87 ReceiveExperience(); 88 89 RegisterServices(); 88 90 } 89 91 else { … … 215 217 delete [] p; 216 218 } 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 } 217 292 else if(strcmp(buffer, "request_optimization") == 0) { 218 293 … … 367 442 CognitiveEngine::RegisterComponent() 368 443 { 444 char buffer[256]; 369 445 SendMessage(commandSocketFD, "register_engine_cognitive"); 370 446 LOG("Cognitive Engine:: Registration message sent to shell.\n"); 447 448 memset(buffer, 0, 256); 449 ReadMessage(commandSocketFD, buffer); 371 450 } 372 451 … … 390 469 391 470 SendMessage(commandSocketFD, "register_service"); 392 SendMessage(commandSocketFD, " jam_wifi");471 SendMessage(commandSocketFD, "test_srv"); 393 472 394 473 SendMessage(commandSocketFD, "register_service"); 395 SendMessage(commandSocketFD, " signal_detection");474 SendMessage(commandSocketFD, "test_srv1"); 396 475 397 476 SendMessage(commandSocketFD, "register_service"); 398 SendMessage(commandSocketFD, " max_throughput");477 SendMessage(commandSocketFD, "test_srv2"); 399 478 400 479 SendMessage(commandSocketFD, "register_service"); 401 SendMessage(commandSocketFD, "jam_bluetooth"); 480 SendMessage(commandSocketFD, "test_srv3"); 481 402 482 } 403 483 … … 409 489 410 490 SendMessage(commandSocketFD, "deregister_service"); 411 SendMessage(commandSocketFD, " jam_wifi");491 SendMessage(commandSocketFD, "test_srv"); 412 492 413 493 SendMessage(commandSocketFD, "deregister_service"); 414 SendMessage(commandSocketFD, " signal_detection");494 SendMessage(commandSocketFD, "test_srv1"); 415 495 416 496 SendMessage(commandSocketFD, "deregister_service"); 417 SendMessage(commandSocketFD, " max_throughput");497 SendMessage(commandSocketFD, "test_srv2"); 418 498 419 499 SendMessage(commandSocketFD, "deregister_service"); 420 SendMessage(commandSocketFD, " jam_bluetooth");500 SendMessage(commandSocketFD, "test_srv3"); 421 501 422 502 } … … 433 513 ReadMessage(commandSocketFD, buffer); 434 514 radioInfo->numUtilities = atoi(buffer); 435 515 LOG("Cognitive Engine:: Receiving Radio Configuration. %s\n",buffer); 516 517 436 518 for(size_t i = 0; i < radioInfo->numUtilities; i++) { 437 519 memset(buffer, 0, 256); -
vtcross/trunk/src/cognitive_engines/cbr_demo.cpp
r222 r285 31 31 ERROR(1, "Usage: %s hostname port\n", argv[0]); 32 32 33 CognitiveEngine cognitiveEngine(argv[1], argv[2], false);33 CognitiveEngine cognitiveEngine(argv[1], argv[2], true); 34 34 35 35 LOG("Waiting for signal...\n"); -
vtcross/trunk/src/include/vtcross/components.h
r281 r285 114 114 * shell with the passed hostname and port. 115 115 */ 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); 117 117 118 118 /* Connect and register with the shell component at the passed hostname … … 187 187 bool CE_Present; 188 188 int32_t activeMission; 189 190 int16_t SMLport; 189 191 }; 190 192 -
vtcross/trunk/src/libvtcross/libvtcross.cpp
r280 r285 67 67 SendMessage(socketfd, activeMission); 68 68 69 memset(buffer, 0, 256); 70 ReadMessage(socketfd, buffer); 71 uint32_t ret = atoi(buffer); 69 //memset(buffer, 0, 256); 70 //ReadMessage(socketfd, buffer); 72 71 73 return ret;72 return 1; 74 73 } 75 74 -
vtcross/trunk/src/libvtcross/libvtcross_demo_sml.cpp
r283 r285 30 30 uint32_t numObservables = 2; 31 31 32 for(size_t i = 0; i < 10; i++) {32 //for(size_t i = 0; i < 10; i++) { 33 33 34 34 Observable *o = new Observable[2]; … … 41 41 o[1].value = 12.00; 42 42 43 if(i == 0) {43 //if(i == 0) { 44 44 currentParameters[0].name = "bandwidth"; 45 45 currentParameters[0].value = 300.0; 46 46 currentParameters[1].name = "tx_power"; 47 47 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 // } 52 52 53 53 … … 55 55 // Note: mission name must match a mission 56 56 // in the SML xml file 57 ret = SetActiveMission("test1");57 SetActiveMission("0"); 58 58 59 59 // Send a request to the system for a new set of 60 60 // parameters. 61 //p = GetOptimalParameters(o,numObservables,currentParameters,numParameters);61 p = GetOptimalParameters(o,numObservables,currentParameters,numParameters); 62 62 63 //LOG("Application:: Received the following parameters.\n");63 LOG("Application:: Received the following parameters.\n"); 64 64 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 } 68 68 69 69 // Simulate the REAL observable values after the … … 79 79 delete [] p; 80 80 delete [] o; 81 }81 //} 82 82 83 83 return 0; -
vtcross/trunk/src/service_management_layer/ServiceManagementLayer.cpp
r282 r285 133 133 //Also, their sizes are hardcoded into the code in various places; a fix for a future version. 134 134 ServiceManagementLayer::ServiceManagementLayer(const char* SML_Config, \ 135 const char* serverName, const char* serverPort )135 const char* serverName, const char* serverPort, int16_t clientPort) 136 136 { 137 137 LOG("Creating Service Management Layer.\n"); 138 138 _SML_Config = SML_Config; 139 SMLport = clientPort; 139 140 140 141 ConnectToShell(serverName, serverPort); … … 588 589 break; 589 590 } 591 592 LOG("ServiceManagementLayer:: Received Set Active Mission command: %i\n",missID); 590 593 //For each service in the mission 591 594 for(int i = 0; i < miss[activeMission].numServices; i++) … … 620 623 //Nothing to be done for conditionals at this stage 621 624 } 622 625 626 SendMessage(shellSocketFD, "ack"); 623 627 624 628 //printf("\nhere ---%d, %d---\n", miss[activeMission].services[0].componentID, miss[activeMission].services[1].componentID); … … 1278 1282 fd_set sockSet, shellSet; 1279 1283 1280 cogEngSrv = CreateTCPServerSocket( 2044);1284 cogEngSrv = CreateTCPServerSocket(SMLport); 1281 1285 int32_t maxDescriptor = cogEngSrv; 1282 1286 -
vtcross/trunk/src/service_management_layer/sml_demo.cpp
r279 r285 50 50 { 51 51 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]); 54 54 55 ServiceManagementLayer SML(argv[1], argv[2], argv[3] );55 ServiceManagementLayer SML(argv[1], argv[2], argv[3], atoi(argv[4])); 56 56 SML.StartSMLServer(); 57 57 } -
vtcross/trunk/src/shell/CognitiveRadioShell.cpp
r281 r285 123 123 sprintf(counter, "%d", radio_info->numUtilities); 124 124 SendMessage(socketFD, counter); 125 LOG("Cognitive Radio Shell:: Sending radio configuration to Cognitive Engine. %s\n",counter); 125 126 for(size_t i = 0; i < radio_info->numUtilities; i++) { 126 127 SendMessage(socketFD, utils[i].name.c_str()); … … 187 188 char numberExpString[50]; 188 189 189 sprintf(numberExpString, "% i", numberExp);190 SendMessage(socketFD, numberExpString);190 sprintf(numberExpString, "%d", numberExp); 191 SendMessage(socketFD, "test"); //TODO modified 191 192 192 193 char buffer[256]; … … 198 199 return 0; 199 200 } 200 201 //printf("done sending exp \n"); 201 202 return 1; 202 203 } … … 646 647 { 647 648 char buffer[256]; 648 649 //printf("here\n"); 649 650 ReadMessage(socketFD, buffer); 650 651 … … 729 730 /* Zero socket descriptor vector and set for server sockets */ 730 731 /* This must be reset every time select() is called */ 731 FD_ZERO(&sockSet);732 //FD_ZERO(&sockSet); 732 733 FD_SET(servSock[primary], &sockSet); 733 734 FD_SET(servSock[policy], &sockSet); … … 749 750 if(FD_ISSET(port, &sockSet)) { 750 751 desc_ready -= 1; 751 752 752 /* Check if request is new or on an existing open descriptor */ 753 753 if((port == servSock[primary]) || (port == servSock[policy]) || (port == servSock[command])) { … … 763 763 if(port == servSock[policy]) 764 764 policySocketFD = new_sd; 765 //printf("%d %d %d :: %d\n", ceSocketFD, commandSocketFD, policySocketFD, new_sd); 765 766 766 767 HandleMessage(new_sd);