"description":"A station processing batches for some time given by a distribution provided by the entities that are processed. A random number of batch units is scrapped",
"name":"Machine"
},
"Dream.BatchSource":{
"_class":"node",
"allOf":[
{
"$ref":"#/node"
},
{
"properties":{
"batchNumberOfUnits":{
"description":"the number of units of the created batches",
"name":"Number Of Units",
"required":true,
"type":"number"
},
"entity":{
"default":"Dream.Batch",
"description":"Manpy class for entities",
"name":"Entity Class",
"required":true,
"type":"string"
},
"id":{
"default":"S",
"name":"ID",
"required":true,
"type":"string"
},
"interArrivalTime":{
"$ref":"#/definitions/_dist",
"description":"Inter-arrival time",
"name":"Inter-arrival time",
"required":true
},
"name":{
"default":"Source",
"name":"Name",
"type":"string"
}
},
"type":"object"
}
],
"description":"A station creating entities",
"name":"Source"
},
"Dream.Edge":{
"_class":"edge",
"allOf":[
{
"$ref":"#/edge"
}
],
"description":"Connect stations together"
},
"Dream.EventGenerator":{
"_class":"node",
"allOf":[
{
"$ref":"#/node"
},
{
"properties":{
"argumentDict":{
"default":"{}",
"description":"arguments to be used by the method",
"description":"A buffer where entities of the same group can be held until the next station is ready to process them. Entities of other groups cannot be accepted",
"name":"Clearance"
},
"Dream.NonStarvingEntry":{
"_class":"node",
"allOf":[
{
"$ref":"#/node"
},
{
"properties":{
"entityData":{
"description":"Entity produced related information",
#Call the HandleOutliers object and delete the outliers in the lists with the processing times data of each station
C=HandleOutliers()
MA_Proc=C.DeleteOutliers(MA_Proc)
M1A_Proc=C.DeleteOutliers(M1A_Proc)
M1B_Proc=C.DeleteOutliers(M1B_Proc)
M2A_Proc=C.DeleteOutliers(M2A_Proc)
M2B_Proc=C.DeleteOutliers(M2B_Proc)
M3A_Proc=C.DeleteOutliers(M3A_Proc)
M3B_Proc=C.DeleteOutliers(M3B_Proc)
CB_Proc=C.DeleteOutliers(CB_Proc)
FL_Proc=C.DeleteOutliers(FL_Proc)
M3B_Proc=C.DeleteOutliers(M3B_Proc)
PrA_Proc=C.DeleteOutliers(PrA_Proc)
PrB_Proc=C.DeleteOutliers(PrB_Proc)
PaA_Proc=C.DeleteOutliers(PaA_Proc)
Pb_Proc=C.DeleteOutliers(Pb_Proc)
# Call the DistFittest object and conduct Kolmogorov-Smirnov distribution fitting test in the processing times lists of each station
D=DistFittest()
dictProc={}#Create a dictionary that holds the statistical distributions of the processing times of each station
dictProc['MA']=D.ks_test(MA_Proc)
dictProc['M1A']=D.ks_test(M1A_Proc)
dictProc['M1B']=D.ks_test(M1B_Proc)
dictProc['M2A']=D.ks_test(M2A_Proc)
dictProc['M2B']=D.ks_test(M2B_Proc)
dictProc['M3A']=D.ks_test(M3A_Proc)
dictProc['M3B']=D.ks_test(M3B_Proc)
dictProc['CB']=D.ks_test(CB_Proc)
dictProc['MM']=D.ks_test(MM_Proc)
dictProc['FL']=D.ks_test(FL_Proc)
dictProc['PrA']=D.ks_test(PrA_Proc)
dictProc['PrB']=D.ks_test(PrB_Proc)
dictProc['PaA']=D.ks_test(PaA_Proc)
dictProc['Pb']=D.ks_test(Pb_Proc)
#Call the Distributions object and fit (using the Maximum Likelihood Estimation) the lists with the scrap quantity into a discrete statistical distribution, i.e. Geometric distribution
D=Distributions()
dictScrap={}#Create a dictionary that holds the Geometric, which is a discrete statistical distribution of the processing times of each station