Docs script edit + better precision in verbose tracer + progress bar updates

This commit is contained in:
rparedis 2023-10-12 11:12:48 +02:00
parent a2a6928b0a
commit 5982ba62ba
130 changed files with 12 additions and 11 deletions

View file

@ -1,71 +0,0 @@
from pypdevs.DEVS import AtomicDEVS, CoupledDEVS
from pypdevs.simulator import Simulator
from pypdevs.infinity import INFINITY
class Generator(AtomicDEVS):
def __init__(self):
AtomicDEVS.__init__(self, "Generator")
self.state = True
self.outport = self.addOutPort("outport")
def timeAdvance(self):
if self.state:
return 1.0
else:
return INFINITY
def outputFnc(self):
# Our message is simply the integer 5, though this could be anything
return {self.outport: 5}
def intTransition(self):
self.state = False
return self.state
class Queue(AtomicDEVS):
def __init__(self):
AtomicDEVS.__init__(self, "Queue")
self.state = None
self.processing_time = 1.0
self.inport = self.addInPort("input")
self.outport = self.addOutPort("output")
def timeAdvance(self):
if self.state is None:
return INFINITY
else:
return self.processing_time
def outputFnc(self):
return {self.outport: self.state}
def intTransition(self):
self.state = None
return self.state
def extTransition(self, inputs):
self.state = inputs[self.inport]
return self.state
class CQueue(CoupledDEVS):
def __init__(self):
CoupledDEVS.__init__(self, "CQueue")
self.generator = self.addSubModel(Generator())
self.queue = self.addSubModel(Queue())
self.connectPorts(self.generator.outport, self.queue.inport)
class DQueue(CoupledDEVS):
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)
model = CQueue()
sim = Simulator(model)
sim.setClassicDEVS()
sim.setTerminationTime(5.0)
sim.setVerbose()
sim.simulate()