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, }),)), ]
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 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 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.npickle import write_npickle from pymote.conf import global_settings from distributed_voronoi import DistributedVoronoi from point2D import Point2D from voronoi import VoronoiDiagram # Do not show log logging.config.dictConfig({'version': 1,'loggers':{}}) VoronoiDiagram.start() global_settings.ENVIRONMENT2D_SHAPE = VoronoiDiagram.panel_dim() # generates the network with 10 hosts net_gen = NetworkGenerator(n_count=99, n_min=1, n_max=100) net = net_gen.generate_random_network() # Defines the network algorithm net.algorithms = ((DistributedVoronoi, {'informationKey':'axis'}),) # Assign to node memory its position for node in net.nodes(): node.memory['axis'] = (int(net.pos[node][0]), int(net.pos[node][1])) # Creates and starts the simulation sim = Simulation(net) sim.run()
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."
def random_network(): net_gen = NetworkGenerator(10, commRange=400) net = net_gen.generate_random_network() return net
def network10(): net_gen = NetworkGenerator(30, comm_range=500) net = net_gen.generate_random_network() return net
def network8(): net_gen = NetworkGenerator(50, comm_range=300) net = net_gen.generate_random_network() return net
def network6(): net_gen = NetworkGenerator(20, comm_range=400) net = net_gen.generate_random_network() return net
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, )
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,)
def medium_random(): net_gen = NetworkGenerator(20, commRange=250) net = net_gen.generate_random_network() return net
def get_arch_random4(): net_gen = NetworkGenerator(20, comm_range=400) net8 = net_gen.generate_random_network() return net8
def get_arch_random3(): net_gen = NetworkGenerator(15, comm_range=300) net7 = net_gen.generate_random_network() return net7