Example #1
0
# create Persons
for i in xrange(num_entities):
    simx.create_entity(('p', i), Person)


# create a message generation process
class MessageGen(simx.Process):
    """
    Schedule simple message sending and receiving
    """
    def run(self):
        for evt_time in xrange(1, end_time / 2 - 1):
            hello_rcvr = ('p', random.choice(xrange(num_entities)))
            reply_rcvr = ('p', random.choice(xrange(num_entities)))
            #print evt_time,hello_rcvr,reply_rcvr
            simx.schedule_event(simx.get_now() + evt_time, hello_rcvr,
                                eAddr_HelloHandlerPerson,
                                HelloMessage(source_id=reply_rcvr))
            #schedule in chunks of 10 time units
            if (evt_time % 10 == 0):
                # go to sleep, and wake up in time to schedule
                # next batch of events
                #raw_input()
                self.sleep(evt_time - simx.get_now())


mg = MessageGen()

simx.schedule_process(mg)
simx.run()
Example #2
0
            nx.draw_networkx_nodes(G,Gpos,node_size=80,nodelist=p.keys(),node_color=p.values(),cmap=plt.cm.Reds_r)
            plt.xlim(-0.05,1.05)
            plt.ylim(-0.05,1.05)
            plt.axis('off')
            plt.draw()
            self.sleep(update_interval)


simx.init("consensus")
simx.set_end_time(end_time)
simx.set_min_delay(min_delay)
#simx.set_log_level("debug3")
simx.init_env()

for i in xrange(num_nodes):
    simx.create_entity(('n',i),Node,ent_data=({'gnode_id':i}))
    node_list.append(simx.get_entity(('n',i)))

#quit()
    
simx.get_controller().install_service(Receiver,eAddr_RECVR)
simx.schedule_process(Updater())

#only rank 0 does the plotting
if plot == True:
    import matplotlib.pyplot as plt
    if simx.get_rank() == 0:
        simx.schedule_process(Plotter())

simx.run()
Example #3
0
                                   cmap=plt.cm.Reds_r)
            plt.xlim(-0.05, 1.05)
            plt.ylim(-0.05, 1.05)
            plt.axis('off')
            plt.draw()
            self.sleep(update_interval)


simx.init("consensus")
simx.set_end_time(end_time)
simx.set_min_delay(min_delay)
#simx.set_log_level("debug3")
simx.init_env()

for i in xrange(num_nodes):
    simx.create_entity(('n', i), Node, ent_data=({'gnode_id': i}))
    node_list.append(simx.get_entity(('n', i)))

#quit()

simx.get_controller().install_service(Receiver, eAddr_RECVR)
simx.schedule_process(Updater())

#only rank 0 does the plotting
if plot == True:
    import matplotlib.pyplot as plt
    if simx.get_rank() == 0:
        simx.schedule_process(Plotter())

simx.run()
Example #4
0
File: cd.py Project: nmtrmail/simx
    """
    Just another process
    """
    def __init__(self, id_):
        self.id_ = id_

    def run(self):
        print "foo process: ", self.id_, " Time: ", simx.get_now()
        #if id == 0:
        #    self.spawn(fooprocess(id+1))
        self.sleep(2)
        print "foo process: ", self.id_, " wake up at time:", simx.get_now()

    def end(self):
        print "foo process: ", self.id_, " ends here"


simx.init("cd")

simx.set_min_delay(1)
simx.set_end_time(100)
simx.set_log_level("debug3")

simx.init_env()

for i in range(1):
    cd = CountDown(i, 10)
    simx.schedule_process(cd)

simx.run()
Example #5
0
simx.set_min_delay(1)
simx.init_env()



# create Persons
for i in xrange(num_entities):
    simx.create_entity(('p',i), Person)
    
# create a message generation process
class MessageGen (simx.Process):
    """
    Schedule simple message sending and receiving
    """
    def run(self):
        for evt_time in range(1,end_time):
            hello_rcvr = ('p',random.choice(xrange(num_entities)))
            reply_rcvr = ('p',random.choice(xrange(num_entities)))
            simx.schedule_event(evt_time, hello_rcvr, eAddr_HelloHandlerPerson,
                                HelloMessage(source_id=reply_rcvr))
            #schedule in chunks of 10 time units
            if (evt_time % 10 == 0):
                # go to sleep, and wake up in time to schedule
                # next batch of events
                 self.sleep(evt_time - simx.get_now())
            
            
mg = MessageGen()
simx.schedule_process(mg)
simx.run()
Example #6
0
class fooprocess(simx.Process):
    """
    Just another process
    """
    def __init__(self,id_):
        self.id_ = id_

    def run(self):
        print "foo process: ",self.id_," Time: ",simx.get_now()
        self.sleep(2)
        print "foo process: ",self.id_," wake up at time:",simx.get_now()
        self.spawn(fooprocess(self.id_))

    def end(self):
        print "foo process: ",self.id_," ends here"

simx.init("cdkill")

simx.set_min_delay(1)
simx.set_end_time(100)
simx.set_log_level("debug3")

simx.init_env()

for i in range(1):
    cd = CountDown(i,10)
    simx.schedule_process( cd )

simx.run()