Exemple #1
0
    def __init__(self, name):
        CoupledDEVS.__init__(self, name)


################### Model Hierarchy #####################
# Model_Diagram0
#########################################################
Exemple #2
0
 def __init__(self):
     CoupledDEVS.__init__(self, "DQueue")
     self.generator = self.addSubModel(Generator())
     self.queue1 = self.addSubModel(Queue())
     self.queue2 = self.addSubModel(Queue())
     self.connectPorts(self.generator.outport, self.queue1.inport)
     self.connectPorts(self.generator.outport, self.queue2.inport)
 def __init__(self):
     CoupledDEVS.__init__(self, "DQueue")
     self.generator = self.addSubModel(Generator())
     self.queue1 = self.addSubModel(Queue())
     self.queue2 = self.addSubModel(Queue())
     self.connectPorts(self.generator.outport, self.queue1.inport)
     self.connectPorts(self.generator.outport, self.queue2.inport)
Exemple #4
0
 def __init__(self, load):
     CoupledDEVS.__init__(self, "Root")
     grid1 = self.addSubModel(NodeGrid(load), 0)
     grid2 = self.addSubModel(NodeGrid(load), 1)
     grid1_node = self.addSubModel(ExchangeModel(), 0)
     grid2_node = self.addSubModel(ExchangeModel(), 1)
     self.connectPorts(grid1_node.outport, grid2_node.inport)
     self.connectPorts(grid2_node.outport, grid1_node.inport)
Exemple #5
0
    def __init__ (self, name):
        CoupledDEVS.__init__(self, name)



################### Model Hierarchy #####################
# Model_Diagram0
#########################################################
Exemple #6
0
 def __init__(self):
     CoupledDEVS.__init__(self, "root")
     self.model1 = self.addSubModel(SimulatedModel(1), 0)
     self.model2 = self.addSubModel(SimulatedModel(2), 1)
     self.model3 = self.addSubModel(SimulatedModel(3), 1)
     self.connectPorts(self.model1.outport, self.model2.inport)
     self.connectPorts(self.model2.outport, self.model3.inport)
     self.connectPorts(self.model3.outport, self.model1.inport)
Exemple #7
0
    def __init__(self, nodes):
        CoupledDEVS.__init__(self, "Cluster")
        self.nodes = [self.addSubModel(Node(i, nodes)) for i in range(nodes)]
        self.network = [[
            self.addSubModel(Network("%i-->%i" % (j, i))) for i in range(nodes)
        ] for j in range(nodes)]

        for startid in range(nodes):
            for endid in range(nodes):
                self.connectPorts(self.nodes[startid].outports[endid],
                                  self.network[startid][endid].inport)
                self.connectPorts(self.network[startid][endid].outport,
                                  self.nodes[endid].inports[startid])
Exemple #8
0
    def __init__(self, x_max, y_max):
        CoupledDEVS.__init__(self, "FireSpread")

        self.cells = []
        try:
            from mpi4py import MPI
            nodes = MPI.COMM_WORLD.Get_size()
        except ImportError:
            nodes = 1
        node = 0
        totalCount = x_max * y_max
        counter = 0
        for x in range(x_max):
            row = []
            for y in range(y_max):
                if nodes == 1:
                    node = 0
                elif x <= x_max / 2 and y < y_max / 2:
                    node = 0
                elif x <= x_max / 2 and y > y_max / 2:
                    node = 1
                elif x > x_max / 2 and y < y_max / 2:
                    node = 2
                elif x > x_max / 2 and y > y_max / 2:
                    node = 3
                row.append(self.addSubModel(Cell(x, y, x_max, y_max), node))
            self.cells.append(row)
            counter += 1

        # Everything is now constructed, so connect the ports now
        self.generator = self.addSubModel(Generator(RADIUS))
        #self.putGenerator(2, 2)
        #self.putGenerator(2, y_max-3)
        #self.putGenerator(x_max-3, 2)
        #self.putGenerator(x_max-3, y_max-3)
        self.putGenerator(5, 5)

        for x in range(x_max):
            for y in range(y_max):
                if x != 0:
                    self.connectPorts(self.cells[x][y].outport,
                                      self.cells[x - 1][y].inports[2])
                if y != y_max - 1:
                    self.connectPorts(self.cells[x][y].outport,
                                      self.cells[x][y + 1].inports[1])
                if x != x_max - 1:
                    self.connectPorts(self.cells[x][y].outport,
                                      self.cells[x + 1][y].inports[3])
                if y != 0:
                    self.connectPorts(self.cells[x][y].outport,
                                      self.cells[x][y - 1].inports[0])
 def __init__(self, count, multiplier):
     import math
     CoupledDEVS.__init__(self, "Circle")
     nodes = []
     try:
         from mpi4py import MPI
         pernode = float(count) / MPI.COMM_WORLD.Get_size()
     except ImportError:
         pernode = float(count)
     for i in range(count):
         nodes.append(
             self.addSubModel(CircleNode(i, count, multiplier),
                              math.floor(i / pernode)))
     for index in range(len(nodes)):
         self.connectPorts(nodes[index - 1].outport, nodes[index].inport)
Exemple #10
0
 def __init__(self, load):
     CoupledDEVS.__init__(self, "Grid")
     for i in range(800):
         self.addSubModel(Node(i, load))