def __init__(self, id, name, **kw): ManPyObject.__init__(self, id, name) self.objName = name # lists that hold the previous and next objects in the flow self.next = [] # list with the next objects in the flow self.previous = [] # list with the previous objects in the flow self.nextIds = [] # list with the ids of the next objects in the flow self.previousIds = [] # list with the ids of the previous objects in the flow # lists to hold statistics of multiple runs self.Failure = [] self.Working = [] self.Blockage = [] self.Waiting = [] self.OffShift = [] self.WaitingForOperator = [] self.WaitingForLoadOperator = [] self.Loading = [] self.SettingUp = [] self.OnBreak = [] # list that holds the objectInterruptions that have this element as victim self.objectInterruptions = [] # default attributes set so that the CoreObject has them self.isPreemptive = False self.resetOnPreemption = False self.interruptCause = None self.gatherWipStat = False # flag used to signal that the station waits for removeEntity event self.waitEntityRemoval = False # attributes/indices used for printing the route, hold the cols corresponding to the object (entities route and operators route) self.station_col_inds = [] self.op_col_indx = None # if there is input in a dictionary parse from it from Globals import G G.ObjList.append(self) # add object to ObjList # list of expected signals of a station (values can be used as flags to inform on which signals is the station currently yielding) self.expectedSignals = { "isRequested": 0, "canDispose": 0, "interruptionStart": 0, "interruptionEnd": 0, "loadOperatorAvailable": 0, "initialWIP": 0, "brokerIsSet": 0, "preemptQueue": 0, "entityRemoved": 0, "entityCreated": 0, "moveEnd": 0, "processOperatorUnavailable": 0, } # flag notifying the the station can deliver entities that ended their processing while interrupted self.canDeliverOnInterruption = False # keep wip stats for every replication self.WipStat = []
def __init__(self, id, name, **kw): ManPyObject.__init__(self, id, name) self.objName = name # lists that hold the previous and next objects in the flow self.next = [] #list with the next objects in the flow self.previous = [] #list with the previous objects in the flow self.nextIds = [] #list with the ids of the next objects in the flow self.previousIds = [ ] #list with the ids of the previous objects in the flow #lists to hold statistics of multiple runs self.Failure = [] self.Working = [] self.Blockage = [] self.Waiting = [] self.OffShift = [] self.WaitingForOperator = [] self.WaitingForLoadOperator = [] self.Loading = [] self.SettingUp = [] self.OnBreak = [] # list that holds the objectInterruptions that have this element as victim self.objectInterruptions = [] #default attributes set so that the CoreObject has them self.isPreemptive = False self.resetOnPreemption = False self.interruptCause = None self.gatherWipStat = False # flag used to signal that the station waits for removeEntity event self.waitEntityRemoval = False # attributes/indices used for printing the route, hold the cols corresponding to the object (entities route and operators route) self.station_col_inds = [] self.op_col_indx = None # if there is input in a dictionary parse from it from Globals import G G.ObjList.append(self) # add object to ObjList # list of expected signals of a station (values can be used as flags to inform on which signals is the station currently yielding) self.expectedSignals = { "isRequested": 0, "canDispose": 0, "interruptionStart": 0, "interruptionEnd": 0, "loadOperatorAvailable": 0, "initialWIP": 0, "brokerIsSet": 0, "preemptQueue": 0, "entityRemoved": 0, "entityCreated": 0, "moveEnd": 0, "processOperatorUnavailable": 0 } # flag notifying the the station can deliver entities that ended their processing while interrupted self.canDeliverOnInterruption = False # keep wip stats for every replication self.WipStat = []
def __init__(self, id=None, name=None, priority=0, dueDate=0, orderDate=0, isCritical=False, remainingProcessingTime=0, remainingSetupTime=0, currentStation=None, status='Good', **kw): ManPyObject.__init__(self, id, name) # information on the object holding the entity # initialized as None and updated every time an entity enters a new object # information on the lifespan of the entity self.creationTime = 0 self.startTime = 0 #holds the startTime for the lifespan # dimension data of the entity self.width = 1.0 self.height = 1.0 self.length = 1.0 # information concerning the sorting of the entities inside (for example) queues self.priority = float(priority) self.dueDate = float(dueDate) self.orderDate = float(orderDate) # a list that holds information about the schedule # of the entity (when it enters and exits every station) self.schedule = [] # the current station of the entity self.currentStation = currentStation # values to be used in the internal processing of compoundObjects self.internal = False # informs if the entity is being processed internally if isinstance(isCritical, unicode): self.isCritical = bool(int(isCritical)) elif isinstance(isCritical, int): self.isCritical = bool( isCritical ) # flag to inform weather the entity is critical -> preemption else: self.isCritical = isCritical self.manager = None # default value self.numberOfUnits = 1 # default value # variable used to differentiate entities with and entities without routes self.family = 'Entity' # variables to be used by OperatorRouter self.proceed = False # boolean that is used to check weather the entity can proceed to the candidateReceiver self.candidateReceivers = [ ] # list of candidateReceivers of the entity (those stations that can receive the entity self.candidateReceiver = None # the station that is finaly chosen to receive the entity # alias used for printing the Route self.alias = None self.remainingProcessingTime = remainingProcessingTime self.remainingSetupTime = remainingSetupTime self.status = status
def __init__(self, id='', name='', **kw): ManPyObject.__init__(self, id, name) self.initialized = False # list that holds the objectInterruptions that have this element as victim self.objectInterruptions = [] # alias used for printing the trace self.alias = None # list with the coreObjects IDs that the resource services self.coreObjectIds = [] from Globals import G G.ObjectResourceList.append(self)
def __init__(self,id='',name='',**kw): ManPyObject.__init__(self,id,name) self.initialized = False # list that holds the objectInterruptions that have this element as victim self.objectInterruptions=[] # alias used for printing the trace self.alias=None # list with the coreObjects IDs that the resource services self.coreObjectIds=[] from Globals import G G.ObjectResourceList.append(self)
def __init__(self, id=None, name=None, priority=0, dueDate=0, orderDate=0, isCritical=False, remainingProcessingTime=0,remainingSetupTime=0,currentStation=None, status='Good',**kw): ManPyObject.__init__(self,id,name) # information on the object holding the entity # initialized as None and updated every time an entity enters a new object # information on the lifespan of the entity self.creationTime=0 self.startTime=0 #holds the startTime for the lifespan # dimension data of the entity self.width=1.0 self.height=1.0 self.length=1.0 # information concerning the sorting of the entities inside (for example) queues self.priority=float(priority) self.dueDate=float(dueDate) self.orderDate=float(orderDate) # a list that holds information about the schedule # of the entity (when it enters and exits every station) self.schedule=[] # the current station of the entity self.currentStation=currentStation # values to be used in the internal processing of compoundObjects self.internal = False # informs if the entity is being processed internally if isinstance(isCritical, unicode): self.isCritical=bool(int(isCritical)) elif isinstance(isCritical, int): self.isCritical=bool(isCritical) # flag to inform weather the entity is critical -> preemption else: self.isCritical=isCritical self.manager=None # default value self.numberOfUnits=1 # default value # variable used to differentiate entities with and entities without routes self.family='Entity' # variables to be used by OperatorRouter self.proceed=False # boolean that is used to check weather the entity can proceed to the candidateReceiver self.candidateReceivers=[] # list of candidateReceivers of the entity (those stations that can receive the entity self.candidateReceiver=None # the station that is finaly chosen to receive the entity # alias used for printing the Route self.alias=None self.remainingProcessingTime=remainingProcessingTime self.remainingSetupTime=remainingSetupTime self.status=status
def __init__(self, id='',name='',victim=None,**kw): ManPyObject.__init__(self,id,name) self.victim=victim # variable used to hand in control to the objectInterruption self.call=False from Globals import G # G.ObjectInterruptionList.append(self) # append the interruption to the list that victim (if any) holds if self.victim: if isinstance(self.victim.objectInterruptions, list): self.victim.objectInterruptions.append(self) # list of expected signals of an interruption (values can be used as flags to inform on which signals is the interruption currently yielding) self.expectedSignals={ "victimOffShift":0, "victimOnShift":0, "victimStartsProcessing":0, "victimEndsProcessing":0, "isCalled":0, "endedLastProcessing":0, "victimIsEmptyBeforeMaintenance":0, "resourceAvailable":0, }
def __init__(self, id='', name='', victim=None, **kw): ManPyObject.__init__(self, id, name) self.victim = victim # variable used to hand in control to the objectInterruption self.call = False from Globals import G # G.ObjectInterruptionList.append(self) # append the interruption to the list that victim (if any) holds if self.victim: if isinstance(self.victim.objectInterruptions, list): self.victim.objectInterruptions.append(self) # list of expected signals of an interruption (values can be used as flags to inform on which signals is the interruption currently yielding) self.expectedSignals = { "victimOffShift": 0, "victimOnShift": 0, "victimStartsProcessing": 0, "victimEndsProcessing": 0, "isCalled": 0, "endedLastProcessing": 0, "victimIsEmptyBeforeMaintenance": 0, "resourceAvailable": 0, "victimFailed": 0 }