def test_sim(self): netgen = NetworkGenerator(degree=9, n_min=100, n_max=300) for lm_pct in [5, 10, 20, 33]: for net_count in range(100): net = netgen.generate() for node in net.nodes()[:int(lm_pct * len(net.nodes()) / 100)]: node.compositeSensor = CompositeSensor(('TruePosSensor')) net.algorithms = ALGORITHMS sim = Simulation(net) sim.run() write_npickle(net, '%d-%d.gz' % (net_count, lm_pct))
def setUp(self): net_gen = NetworkGenerator(100) self.net = net_gen.generate_random_network() self.net.algorithms = ((DVHop, {'truePositionKey': 'tp', 'hopsizeKey': 'hs', 'dataKey': 'I' }), (Trilaterate, {'truePositionKey': 'tp', 'hopsizeKey': 'hs', 'positionKey': 'pos', 'dataKey': 'I'}), ) for node in self.net.nodes()[:10]: node.compositeSensor = (TruePosSensor,)
def test_random_generation(self): """Test different random generation parameters""" for input, output in self.in_out: if isclass(output) and issubclass(output, Exception): self.assertRaises(output, NetworkGenerator, input) continue net_gen = NetworkGenerator(**input) if output == None: self.assertEqual(None, net_gen.generate_random_network()) elif isinstance(output, dict): net = net_gen.generate_random_network() try: net.validate_params(output) except AssertionError: self.fail("Network params did not validate.")
def setUp(self): net_gen = NetworkGenerator(100) self.net = net_gen.generate_random_network() self.algorithms_ok = ( (SomeNodeAlgorithm, { 'rp1': 1, 'rp2': 2, 'rp3': 3, }), (SomeNetworkAlgorithm, {}), SomeNetworkAlgorithm, (SomeAlgorithmWithInheritance, { 'rp1': 1, 'rp2': 2, 'rp3': 3, 'rp4': 4 }), (SomeAlgorithmWithInheritanceChild, { 'rp1': 1, 'rp2': 2, 'rp3': 3, 'rp4': 4, 'rp5': 5, 'rp6': 6 }), ) self.check = [ # wrong_format (PymoteNetworkError, [ (SomeNodeAlgorithm, { 'rp1': 1, 'rp2': 2, 'rp3': 3 }), ]), # wrong_base_class (PymoteNetworkError, ((Node, {}), )), # missing_req_params (PymoteAlgorithmException, ((SomeNodeAlgorithm, { 'rp1': 1, }), )), (PymoteAlgorithmException, ((SomeAlgorithmWithInheritance, { 'rp1': 1, }), )), ]
from pymote.algorithms.KVM.PTConstruction import PTConstruction from pymote.networkgenerator import NetworkGenerator from pymote.network import Network from pymote.simulation import Simulation from pymote.npickle import write_pickle net_gen = NetworkGenerator(7) net = net_gen.generate_random_network() #NAPOMENA: u saturated makla random initiatore net.algorithms = (PTConstruction, ) #net.nodes()[0].memory['I'] = "Koja je tvoja temperatura?" net.show() #write_pickle(net, 'PTConstruction_mreza.tar.gz') sim = Simulation(net) sim.run() for node in net.nodes(): print "\n" print node.id, node.memory, node.status #sim.reset() print "\nDone script."
xpositions = [] xestpositions = [] deltapos = [] esterror = [] positions = [] newpos = [] anchpositions = [] message_stats = [] position_stats = [] consume = [] energy = [] # Network Topology setup Node.cid = 1 # start node id net_gen = NetworkGenerator(n_count=n, degree=degree) net = net_gen.generate_homogeneous_network() # A random homogeneous topology #net_gen = Toplogy(n_count=n, degree=degree, n_max=n, n_min=n, connected=False) #net = net_gen.generate_grid_network(randomness=0.2) # Computes no. of anchors f_anchors = (int)(100 / p_anchors) n_anchors = (int)(n * p_anchors / 100.0) # Set some nodes as anchor based on number of desired anchors # Two arrays are populated with location of nodes to be plotted later for node in net.nodes(): xpositions.append(net.pos[node][0]) if (node.id % f_anchors == 0): # anchor nodes node.compositeSensor = (TruePosSensor, )