/
TestSaveRestoreState.py
96 lines (76 loc) · 2.39 KB
/
TestSaveRestoreState.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
from random import *
from multiprocessing import Queue, Lock
from Map import *
from nodes import *
from Target import *
from CAOC import *
from HMINT import *
from Drone import *
from IMINT import *
from LogicalProcess import *
from LPInputQueue import *
from state import *
def main():
print 'Start'
random.seed(1)
mapX=300
mapY=300
numStreets=50
numTargets=10
numDrones=3
heuristic=1
seedNum=1
Nuisance=0.8
print '---Generate Map---'
Map = GenMap(mapX,mapY)
Map.map(numStreets,Nuisance)
randNodes=[]
for i in range(numTargets):
randNodes.append(Map.RandNode())
print '---Generate HMINT, CAOC, IMINT---'
hmint = HMINT(numTargets, randNodes)
hmintInQ = LPInputQueue()
caoc=CAOC(numDrones,heuristic)
caocInQ = LPInputQueue()
imint=IMINT(heuristic,numTargets)
imintInQ = LPInputQueue()
print 'IMINT total value: ' + str(imint.totalValue)
drone=Drone(0,0,1)
droneInQ=LPInputQueue()
lp=[hmint,caoc,imint]
print '---Generate Messages---'
m2Data=[0,80,80,'Vehicle',1,1,randNodes[0],30,0,0]
m2=Message(2,m2Data,'CAOC','IMINT',0)
m3Data=[0,'Idle',randNodes[1]]
m3=Message(3,m3Data,'IMINT','CAOC',1)
print '---Save and Restore State---'
for i in lp:
i.localTime=0
drone.LocalSimTime=0
i.saveState()
i.localTime=3
drone.LocalSimTime=3
i.saveState()
i.localTime=7
drone.LocalSimTime=7
i.saveState()
i.localTime=12
drone.LocalSimTime=12
i.saveState()
print str(i.LPID) + ' state queue: ' + str(i.stateQueue)
print str(i.LPID) + ' state queue length: ' + str(len(i.stateQueue))
#for i in drone.stateQueue:
#print 'Drone LocalSimTime: ' + str(i.LocalSimTime)
hmint.restoreState(6)
caoc.restoreState(6)
imint.restoreState(6)
drone.restoreState(6)
for i in lp:
print str(i.LPID) + ' state queue: ' + str(i.stateQueue)
print str(i.LPID) + ' local time: ' + str(i.localTime)
print 'Drone actual local time: ' + str(drone.LocalSimTime)
i.localTime=13
i.saveState()
print str(i.LPID) + ' state queue: ' + str(i.stateQueue)
print 'End'
main()