Example #1
0
    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, }),)),
                ]
Example #2
0
 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))
Example #3
0
 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))
Example #4
0
 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,)
Example #5
0
 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.")
Example #7
0
 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,
         }), )),
     ]
Example #8
0
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
Example #14
0
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, )
Example #15
0
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