Commit 70cfe089 authored by Georgios Dagkakis's avatar Georgios Dagkakis

Merge branch 'addBatchStations'

parents a7a3a7b8 281333da
from copy import copy
import json
import time
import random
import operator
import datetime
from dream.plugins import plugin
class AddBatchStations(plugin.InputPreparationPlugin):
""" Input preparation
checks if the Batch Station processes Batchs or SubBatches and in the former case adds a decomposition/reassembly
to set to the working batch
"""
def preprocess(self, data):
nodes=copy(data['graph']['node'])
edges=copy(data['graph']['edge'])
data_uri_encoded_input_data = data['input'].get(self.configuration_dict['input_id'], {})
# get the number of units for a standard batch
standardBatchUnits=0
for node_id, node in nodes.iteritems():
if node['_class']=='Dream.BatchSource':
standardBatchUnits=int(node['numberOfUnits'])
# loop in BatchScrapMachines to change the classes if need be
for node_id, node in nodes.iteritems():
if node['_class']=='Dream.BatchScrapMachine':
# get the first successor. If it is BatchReassembly set the class to M3
successorIdList=self.getSuccessors(data, node_id)
if successorIdList:
successorId=successorIdList[0]
successorClass=nodes[successorId]['_class']
if successorClass=='Dream.BatchReassembly':
data['graph']['node'][node_id]['_class']='Dream.M3'
# get the first predecessor. If it is BatchDecomposition set the class to BatchScrapMachineAfterDecompose
predecessorIdList=self.getPredecessors(data, node_id)
if predecessorIdList:
predecessorId=predecessorIdList[0]
predecessorClass=nodes[predecessorId]['_class']
if predecessorClass=='Dream.BatchDecomposition':
data['graph']['node'][node_id]['_class']='Dream.BatchScrapMachineAfterDecompose'
# loop in BatchDecompositions to change the classes to BatchDecompositionBlocking
# XXX StartTime to be thought upon
for node_id, node in nodes.iteritems():
if node['_class']=='Dream.BatchDecomposition':
data['graph']['node'][node_id]['_class']='Dream.BatchDecompositionBlocking'
# loop in BatchReassemblies to change the classes to BatchReassemblyBlocking
for node_id, node in nodes.iteritems():
if node['_class']=='Dream.BatchReassembly':
data['graph']['node'][node_id]['_class']='Dream.BatchReassemblyBlocking'
# loop through the nodes to find the machines that do need addition
machinesThatNeedAddition={}
for node_id, node in nodes.iteritems():
if node['_class']=='Dream.BatchScrapMachine' and self.checkIfMachineNeedsAddition(data,node_id,standardBatchUnits):
machinesThatNeedAddition[node_id]=node
# loop through the nodes
for node_id, node in machinesThatNeedAddition.iteritems():
# find BatchScrapMachines that process batches
import math
workingBatchSize=int((node.get('workingBatchSize')))
numberOfSubBatches=int((math.ceil((standardBatchUnits/float(workingBatchSize)))))
#create a batchDecomposition
batchDecompositionId=node_id+'_D'
data['graph']['node'][batchDecompositionId]={
"name": batchDecompositionId,
"processingTime": {
"Fixed": {
"mean": 0
}
},
"numberOfSubBatches": numberOfSubBatches,
"wip": [],
"element_id": "DreamNode_39",
"_class": "Dream.BatchDecompositionBlocking",
"id": batchDecompositionId
}
#put the batchDecomposition between the predecessor and the node
for edge_id, edge in edges.iteritems():
if edge['destination']==node_id:
source=edge['source']
# remove the edge
data['graph']['edge'].pop(edge_id,None)
# add an edge from source to batchDecomposition
self.addEdge(data, source, batchDecompositionId)
# add an edge from batchDecomposition machine
self.addEdge(data, batchDecompositionId, node_id)
#create a batchReassembly
batchReassemblyId=node_id+'_R'
data['graph']['node'][batchReassemblyId]={
"name": batchReassemblyId,
"processingTime": {
"Fixed": {
"mean": 0
}
},
"outputResults": 1,
"numberOfSubBatches": numberOfSubBatches,
"wip": [],
"_class": "Dream.BatchReassemblyBlocking",
"id": batchReassemblyId
}
#put the batchReassembly between the node and the successor
for edge_id, edge in edges.iteritems():
if edge['source']==node_id:
destination=edge['destination']
# remove the edge
data['graph']['edge'].pop(edge_id,None)
# add an edge from machine to batchReassembly
self.addEdge(data, node_id, batchReassemblyId)
# add an edge from batchReassembly to destination
self.addEdge(data, batchReassemblyId, destination)
dataString=json.dumps(data['graph']['edge'], indent=5)
# print dataString
# for node_id, node in nodes.iteritems():
# print node_id, node['_class']
return data
# returns true if it is needed to add decomposition/reassembly
def checkIfMachineNeedsAddition(self, data, machineId,standardBatchUnits):
nodes=copy(data['graph']['node'])
workingBatchSize=int(nodes[machineId].get('workingBatchSize',standardBatchUnits))
# if the workingBatchSize is equal or higher to standardBatchUnits we do not need to add decomposition/reassembly
if workingBatchSize>=standardBatchUnits:
return False
# loop in the predecessors
currentId=machineId
while 1:
predecessorIdsList=self.getPredecessors(data, currentId)
# get the first. In this model every machine is fed by one point
if predecessorIdsList:
predecessorId=predecessorIdsList[0]
# if there is no predecessor, i.e. the start was reached break
else:
break
predecessorClass=nodes[predecessorId]['_class']
# if BatchDecomposition is reached we are in subline so return False
if predecessorClass=='Dream.BatchDecomposition':
return False
# if BatchReassembly is reached we are not in subline so return True
elif predecessorClass=='Dream.BatchReassembly':
return True
currentId=predecessorId
return True
\ No newline at end of file
......@@ -31,6 +31,36 @@ class InputPreparationPlugin(Plugin):
"""
return data
# adds an edge with the given source and destination
def addEdge(self, data, source, destination, nodeData={}):
data['graph']['edge'][source+'_to_'+destination]={
"source": source,
"destination": destination,
"data": {},
"_class": "Dream.Edge"
}
return data
# returns the predecessors of a node
def getPredecessors(self, data, node_id):
predecessors=[]
from copy import copy
edges=copy(data['graph']['edge'])
for edge_id,edge in edges.iteritems():
if edge['destination']==node_id:
predecessors.append(edge['source'])
return predecessors
# returns the successors of a node
def getSuccessors(self, data, node_id):
successors=[]
from copy import copy
edges=copy(data['graph']['edge'])
for edge_id,edge in edges.iteritems():
if edge['source']==node_id:
successors.append(edge['destination'])
return successors
class OutputPreparationPlugin(Plugin):
def postprocess(self, data):
"""Postprocess the data after simulation run.
......
......@@ -3,1552 +3,1170 @@
"general": {
"properties": {
"confidenceLevel": {
"default": 0.95,
"description": "Confidence level for statistical analysis of stochastic experiments",
"name": "Confidence level",
"default": 0.95,
"description": "Confidence level for statistical analysis of stochastic experiments",
"name": "Confidence level",
"type": "number"
},
},
"currentDate": {
"default": "2014/02/18",
"description": "The day the experiment starts, in YYYY/MM/DD format",
"name": "Simulation start time",
"default": "2014/02/18",
"description": "The day the experiment starts, in YYYY/MM/DD format",
"name": "Simulation start time",
"type": "string"
},
},
"ke_url": {
"default": "http://git.erp5.org/gitweb/dream.git/blob_plain/HEAD:/dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"description": "The URL for knowledge extraction to access its data for example http://git.erp5.org/gitweb/dream.git/blob_plain/HEAD:/dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"name": "URL for Knowledge Extraction Spreadsheet",
"default": "http://git.erp5.org/gitweb/dream.git/blob_plain/HEAD:/dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"description": "The URL for knowledge extraction to access its data for example http://git.erp5.org/gitweb/dream.git/blob_plain/HEAD:/dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"name": "URL for Knowledge Extraction Spreadsheet",
"type": "string"
},
},
"maxSimTime": {
"default": 100,
"description": "Length of the simulation run",
"name": "Length of experiment",
"default": 100,
"description": "Length of the simulation run",
"name": "Length of experiment",
"type": "number"
},
},
"numberOfReplications": {
"default": 10,
"description": "Number of replications to run",
"name": "Number of replications",
"default": 10,
"description": "Number of replications to run",
"name": "Number of replications",
"type": "number"
},
},
"processTimeout": {
"default": 10,
"description": "Number of seconds before the calculation process is interrupted",
"name": "Process timeout",
"default": 10,
"description": "Number of seconds before the calculation process is interrupted",
"name": "Process timeout",
"type": "number"
},
},
"seed": {
"default": "1",
"description": "When using the same seed, the random number generator produce the same sequence of numbers",
"name": "Seed for random number generator",
"default": "1",
"description": "When using the same seed, the random number generator produce the same sequence of numbers",
"name": "Seed for random number generator",
"type": "number"
},
},
"throughputTarget": {
"default": 10,
"description": "The daily throughput target in units.",
"name": "Daily throughput target",
"default": 10,
"description": "The daily throughput target in units.",
"name": "Daily throughput target",
"type": "number"
},
},
"timeUnitPerDay": {
"default": 24,
"description": "Used for input and reporting widgets. For example, 24 means that simulation clock time unit is one hour.",
"name": "Number of time units per day",
"default": 24,
"description": "Used for input and reporting widgets. For example, 24 means that simulation clock time unit is one hour.",
"name": "Number of time units per day",
"type": "number"
},
},
"trace": {
"default": "No",
"description": "Create an excel trace file (Yes or No)",
"default": "No",
"description": "Create an excel trace file (Yes or No)",
"enum": [
"No",
"No",
"Yes"
],
"name": "Output Trace",
],
"name": "Output Trace",
"type": "string"
}
}
},
},
"input": {
"view": {
"gadget": "Input_viewProductionLine",
"title": "Production Line",
"gadget": "Input_viewProductionLine",
"title": "Production Line",
"type": "object_view"
},
},
"view_machine_shift_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Date",
"format": "date-time",
"name": "Date",
"type": "string"
},
},
{
"name": "Machine",
"name": "Machine",
"type": "string"
},
},
{
"name": "Start",
"name": "Start",
"type": "string"
},
},
{
"name": "Stop",
"name": "Stop",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Machine Shifts Spreadsheet",
},
"gadget": "Input_viewSpreadsheet",
"title": "Machine Shifts Spreadsheet",
"type": "object_view"
},
},
"view_management": {
"gadget": "Input_viewDocumentManagement",
"title": "Manage Document",
"gadget": "Input_viewDocumentManagement",
"title": "Manage Document",
"type": "object_view"
},
},
"view_operator_shift_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Date",
"format": "date-time",
"name": "Date",
"type": "string"
},
},
{
"name": "Product Builder",
"name": "Product Builder",
"type": "string"
},
},
{
"name": "Start",
"name": "Start",
"type": "string"
},
},
{
"name": "Stop",
"name": "Stop",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Shifts Spreadsheet",
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Shifts Spreadsheet",
"type": "object_view"
},
},
"view_operator_skill_spreadsheet": {
"configuration": {
"columns": [
{
"name": "Product Builder",
"name": "Product Builder",
"type": "string"
},
},
{
"name": "Skills",
"name": "Skills",
"type": "array"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Skills",
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Skills",
"type": "object_view"
},
},
"view_result": {
"gadget": "Input_viewResultList",
"title": "Results",
"type": "object_view"
},
"view_run_simulation": {
"gadget": "Input_viewSimulation",
"title": "Run Simulation",
"type": "object_view"
},
"view_wip_spreadsheet": {
"configuration": {
"columns": [
{
"name": "ID",
"name": "ID",
"type": "string"
},
},
{
"name": "StationID",
"name": "StationID",
"type": "string"
},
},
{
"name": "Number of Units",
"name": "Number of Units",
"type": "number"
},
},
{
"name": "Remaining Units",
"name": "Remaining Units",
"type": "number"
},
},
{
"name": "Type",
"name": "Type",
"type": "string"
},
},
{
"name": "Batch ID",
"name": "Batch ID",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "WIP Spreadsheet",
"type": "object_view"
},
"view_run_simulation": {
"gadget": "Input_viewSimulation",
"title": "Run Simulation",
"type": "object_view"
},
"view_result": {
"gadget": "Input_viewResultList",
"title": "Results",
},
"gadget": "Input_viewSpreadsheet",
"title": "WIP Spreadsheet",
"type": "object_view"
}
},
},
"output": {
"view_station_utilization": {
"configuration": {
"data": {
"blockage": [
"blockage_ratio"
],
"failure": [
"failure_ratio"
],
"waiting": [
"waiting_ratio"
],
"working": [
"working_ratio",
"setup_ratio",
"load_ratio"
]
},
"family": "Server",
"plot": "bars"
},
"gadget": "Output_viewStationUtilisationGraph",
"title": "Station Utilization",
"type": "object_view"
},
"view_exit_stats": {
"configuration": {
"properties": {
"lifespan": {
"type": "number"
},
},
"taktTime": {
"type": "number"
},
},
"throughput": {
"type": "number"
}
}
},
"gadget": "Output_viewExitStatistics",
"title": "Exit Statistics",
},
"gadget": "Output_viewExitStatistics",
"title": "Exit Statistics",
"type": "object_view"
},
},
"view_operator_gantt": {
"configuration": {
"data": {
"Operator": []
}
},
"gadget": "Output_viewGantt",
"title": "Operator Gantt",
},
"gadget": "Output_viewGantt",
"title": "Operator Gantt",
"type": "object_view"
},
},
"view_queue_stats": {
"configuration": {
"data": {
"queue_stat": [
"wip_stat_list"
]
},
"family": "Buffer",
},
"family": "Buffer",
"plot": "line"
},
"gadget": "Output_viewQueueStatGraph",
"title": "Queue Utilization Graph",
},
"gadget": "Output_viewQueueStatGraph",
"title": "Queue Utilization Graph",
"type": "object_view"
},
"view_station_utilization": {
"configuration": {
"data": {
"blockage": [
"blockage_ratio"
],
"failure": [
"failure_ratio"
],
"waiting": [
"waiting_ratio"
],
"working": [
"working_ratio",
"setup_ratio",
"load_ratio"
]
},
"family": "Server",
"plot": "bars"
},
"gadget": "Output_viewStationUtilisationGraph",
"title": "Station Utilization",
"type": "object_view"
}
},
},
"post_processing": {
"description" : "",
"plugin_list" : []
},
"description": "",
"plugin_list": []
},
"pre_processing": {
"description" : "",
"plugin_list" : [
"description": "",
"plugin_list": [
{
"_class": "dream.plugins.AddBatchStations.AddBatchStations",
"input_id": "batchStations"
},
{
"_class": "dream.plugins.GatherWIPStat.GatherWIPStat",
"_class": "dream.plugins.GatherWIPStat.GatherWIPStat",
"input_id": "WIPStat"
},
},
{
"_class": "dream.plugins.ReadEntryData.ReadEntryData",
"_class": "dream.plugins.ReadEntryData.ReadEntryData",
"input_id": "EntryData"
},
},
{
"_class": "dream.plugins.BatchesWIPSpreadsheet.BatchesWIPSpreadsheet",
"_class": "dream.plugins.BatchesWIPSpreadsheet.BatchesWIPSpreadsheet",
"input_id": "WipSpreadsheet"
},
},
{
"_class": "dream.plugins.ReadSkilledOperators.ReadSkilledOperators",
"_class": "dream.plugins.ReadSkilledOperators.ReadSkilledOperators",
"input_id": "SkilledOperatorsSpreadsheet"
},
},
{
"_class": "dream.plugins.ReadShiftFromSpreadsheet.ReadShiftFromSpreadsheet",
"_class": "dream.plugins.ReadShiftFromSpreadsheet.ReadShiftFromSpreadsheet",
"input_id": "ShiftSpreadsheet"
}
]
},
},
"processing_plugin": {
"description" : "",
"_class": "dream.plugins.plugin.DefaultExecutionPlugin"
"_class": "dream.plugins.plugin.DefaultExecutionPlugin",
"description": ""
}
},
},
"class_definition": {
"Dream.BatchDecompositionStartTime": {
"_class": "Dream.BatchDecompositionStartTime",
"_class": "Dream.BatchDecompositionStartTime",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"id": {
"default": "D",
"default": "D",
"type": "string"
},
},
"name": {
"default": "Decomposition",
"default": "Decomposition",
"type": "string"
},
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that decomposes batches into sub-batches",
},
"description": "A station that decomposes batches into sub-batches",
"name": "Decomposition"
},
},
"Dream.BatchReassembly": {
"_class": "node",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"id": {
"default": "R",
"default": "R",
"type": "string"
},
},
"name": {
"default": "Reassembly",
"default": "Reassembly",
"type": "string"
},
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that assembles sub-batches back into a parent batch",
},
"description": "A station that assembles sub-batches back into a parent batch",
"name": "Reassembly"
},
},
"Dream.BatchDecomposition": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "D",
"type": "string"
},
"name": {
"default": "Decomposition",
"type": "string"
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that decomposes a batch into sub-batches",
"name": "Decomposition"
},
"Dream.BatchScrapMachine": {
"_class": "node",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"id": {
"default": "M",
"required": true,
"default": "M",
"required": true,
"type": "string"
},
},
"interruption": {
"name": "Interruptions",
"name": "Interruptions",
"properties": {
"failure": {
"$ref": "#/definitions/_failureDist",
"$ref": "#/definitions/_failureDist",
"required": true
}
},
},
"type": "object"
},
},
"name": {
"default": "Machine",
"name": "Name",
"default": "Machine",
"name": "Name",
"type": "string"
},
},
"processingTime": {
"$ref": "#/definitions/_dist",
"description": "TODO: describe processing time",
"name": "Processing time",
"$ref": "#/definitions/_dist",
"description": "TODO: describe processing time",
"name": "Processing time",
"required": true
},
},
"workingBatchSize": {
"default": "sad",
"name": "Working batch size in this station",
"type": "number"
},
"scrapping": {
"$ref": "#/definitions/_dist",
"description": "TODO: describe scrapping",
"name": "Scrapping",
"$ref": "#/definitions/_dist",
"description": "TODO: describe scrapping",
"name": "Scrapping",
"required": true
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#fef",
"backgroundImage": "linear-gradient(to bottom, #fef 0%, #ede 100%)",
"backgroundColor": "#fef",
"backgroundImage": "linear-gradient(to bottom, #fef 0%, #ede 100%)",
"border": "1px solid #cbc"
},
"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",
},
"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": {
"entity": {
"default": "Dream.Part",
"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
},
"numberOfUnits": {
"description": "the number of units of the created batches",
"name": "Number Of Units",
"required": true
},
"name": {
"default": "Source",
"name": "Name",
"type": "string"
}
},
"type": "object"
}
],
"description": "A station creating entities",
"name": "Source"
},
"Dream.Edge": {
"_class": "edge",
"_class": "edge",
"allOf": [
{
"$ref": "#/edge"
}
],
],
"description": "Connect stations together"
},
},
"Dream.EventGenerator": {
"_class": "node",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"argumentDict": {
"default": "{}",
"description": "arguments to be used by the method",
"required": true,
"default": "{}",
"description": "arguments to be used by the method",
"required": true,
"type": "string"
},
},
"duration": {
"default": 10,
"description": "duration",
"required": true,
"default": 10,
"description": "duration",
"required": true,
"type": "number"
},
},
"id": {
"default": "A",
"required": true,
"default": "A",
"required": true,
"type": "string"
},
},
"interval": {
"default": 10,
"description": "interval time",
"required": true,
"default": 10,
"description": "interval time",
"required": true,
"type": "number"
},
},
"method": {
"default": "Globals.countIntervalThroughput",
"description": "method to be performed",
"required": true,
"default": "Globals.countIntervalThroughput",
"description": "method to be performed",
"required": true,
"type": "string"
},
},
"name": {
"default": "Attainment",
"default": "Attainment",
"type": "string"
},
},
"start": {
"default": 1,
"description": "Start time",
"required": true,
"default": 1,
"description": "Start time",
"required": true,
"type": "number"
},
},
"stop": {
"default": -1,
"description": "Stop time",
"required": true,
"default": -1,
"description": "Stop time",
"required": true,
"type": "number"
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#fdc",
"backgroundImage": "linear-gradient(to bottom, #fdc 0%, #ecb 100%)",
"backgroundColor": "#fdc",
"backgroundImage": "linear-gradient(to bottom, #fdc 0%, #ecb 100%)",
"border": "1px solid #cba"
},
"description": "Attainment",
},
"description": "Attainment",
"name": "Attainment"
},
},
"Dream.Exit": {
"_class": "node",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"id": {
"default": "E",
"default": "E",
"required": true
},
},
"name": {
"default": "Exit",
"default": "Exit",
"type": "string"
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#eef",
"backgroundImage": "linear-gradient(to bottom, #eef 0%, #dde 100%)",
"backgroundColor": "#eef",
"backgroundImage": "linear-gradient(to bottom, #eef 0%, #dde 100%)",
"border": "1px solid #ccb"
},
"description": "A station where entities exits from the system",
"name": "Exit",
},
"description": "A station where entities exits from the system",
"name": "Exit",
"shape": "rectangle"
},
},
"Dream.LineClearance": {
"_class": "node",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"$ref": "#/definitions/_capacity",
"required": true
},
},
"id": {
"default": "C",
"default": "C",
"type": "string"
},
},
"name": {
"default": "Clearance",
"default": "Clearance",
"type": "string"
},
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"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",
},
"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",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"entityData": {
"description": "Entity produced related information",
"description": "Entity produced related information",
"properties": {
"class": {
"default": "Dream.Batch",
"description": "Entity class",
"required": true,
"default": "Dream.Batch",
"description": "Entity class",
"required": true,
"type": "string"
},
},
"numberOfUnits": {
"default": 80,
"description": "Number of units per batch",
"required": true,
"default": 80,
"description": "Number of units per batch",
"required": true,
"type": "number"
}
},
"required": true,
},
"required": true,
"type": "object"
},
},
"id": {
"default": "E",
"required": true,
"default": "E",
"required": true,
"type": "string"
},
},
"name": {
"default": "Entry",
"default": "Entry",
"type": "string"
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#ffe",
"backgroundImage": "linear-gradient(to bottom, #ffe 0%, #dde 100%)",
"backgroundColor": "#ffe",
"backgroundImage": "linear-gradient(to bottom, #ffe 0%, #dde 100%)",
"border": "1px solid #bbc"
},
"description": "A station creating batches",
},
"description": "A station creating batches",
"name": "Entry"
},
},
"Dream.Queue": {
"_class": "node",
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"$ref": "#/definitions/_capacity",
"required": true
},
},
"id": {
"default": "Q",
"default": "Q",
"type": "string"
},
},
"name": {
"default": "Queue",
"default": "Queue",
"type": "string"
},
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
},
"type": "object"
}
],
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"description": "A buffer where entities can be hold until the next station is ready to process them",
},
"description": "A buffer where entities can be hold until the next station is ready to process them",
"name": "Queue"
},
"Dream.BatchSource": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"entity": {
"default": "Dream.Part",
"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"
},
},
"definitions": {
"_capacity": {
"default": 1,
"description": "capacity of the queue. -1 means infinite",
"default": 1,
"description": "capacity of the queue. -1 means infinite",
"oneOf": [
{
"enum": [
-1
]
},
},
{
"multipleOf": 1
}
],
],
"type": "number"
},
},
"_dist": {
"allOf": [
{
"properties": {
"distribution": {
"default": "Fixed",
"default": "Fixed",
"enum": [
"Fixed",
"Exp",
"Normal",
"Lognormal",
"Binomial",
"Poisson",
"Logistic",
"Cauchy",
"Geometric",
"Gama",
"Fixed",
"Exp",
"Normal",
"Lognormal",
"Binomial",
"Poisson",
"Logistic",
"Cauchy",
"Geometric",
"Gama",
"Weibull"
],
],
"type": "string"
}
},
},
"type": "object"
},
},
{
"oneOf": [
{
"$ref": "#/definitions/distributionTypes/_fixed"
},
},
{
"$ref": "#/definitions/distributionTypes/_exp"
},
},
{
"$ref": "#/definitions/distributionTypes/_normal"
},
},
{
"$ref": "#/definitions/distributionTypes/_lognormal"
},
},
{
"$ref": "#/definitions/distributionTypes/_binomial"
},
},
{
"$ref": "#/definitions/distributionTypes/_poisson"
},
},
{
"$ref": "#/definitions/distributionTypes/_logistic"
},
},
{
"$ref": "#/definitions/distributionTypes/_cauchy"
},
},
{
"$ref": "#/definitions/distributionTypes/_geometric"
},
},
{
"$ref": "#/definitions/distributionTypes/_gama"
},
},
{
"$ref": "#/definitions/distributionTypes/_weibull"
}
]
}
]
},
},
"_failureDist": {
"allOf": [
{
"properties": {
"failureDistribution": {
"default": "No",
"default": "No",
"enum": [
"No",
"No",
"Yes"
],
],
"type": "string"
}
},
},
"type": "object"
},
},
{
"oneOf": [
{
"$ref": "#/definitions/distributionTypes/_failure"
},
},
{
"$ref": "#/definitions/distributionTypes/_no"
}
]
}
]
},
},
"_operationType": {
"_class": "Dream.PropertyList",
"description": "the type of operations that are performed manually in the machine",
"id": "operationType",
"name": "Operation type",
"_class": "Dream.PropertyList",
"description": "the type of operations that are performed manually in the machine",
"id": "operationType",
"name": "Operation type",
"properties": {
"operationType": {
"enum": [
"MT-Load",
"MT-Load-Setup",
"MT-Load",
"MT-Load-Setup",
"MT-Load-Setup-Processing"
],
],
"type": "string"
}
}
},
},
"_schedulingRule": {
"default": "FIFO",
"description": "Scheduling Rule of this buffer",
"default": "FIFO",
"description": "Scheduling Rule of this buffer",
"enum": [
"FIFO",
"Priority",
"EDD",
"EOD",
"NumStages",
"RPC",
"LPT",
"SPT",
"MS",
"WINQ",
"FIFO",
"Priority",
"EDD",
"EOD",
"NumStages",
"RPC",
"LPT",
"SPT",
"MS",
"WINQ",
"WT"
],
],
"type": "string"
},
},
"distributionTypes": {
"_binomial": {
"description": "Binomial",
"description": "Binomial",
"properties": {
"mean": {
"default": 0,
"default": 0,
"type": "number"
},
},
"size": {
"default": 0,
"default": 0,
"type": "number"
}
},
"title": "Binomial",
},
"title": "Binomial",
"type": "object"
},
},
"_cauchy": {
"description": "Cauchy",
"description": "Cauchy",
"properties": {
"location": {
"default": 0,
"default": 0,
"type": "number"
},
},
"scale": {
"default": 0,
"default": 0,
"type": "number"
}
},
"title": "Cauchy",
},
"title": "Cauchy",
"type": "object"
},
},
"_exp": {
"description": "Exponential",
"description": "Exponential",
"properties": {
"mean": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Exp",
},
"title": "Exp",
"type": "object"
},
},
"_failure": {
"properties": {
"Time to Failure": {
"$ref": "#/definitions/_dist"
},
},
"Time to Repair": {
"$ref": "#/definitions/_dist"
},
},
"repairman": {
"description": "Repairman",
"required": true,
"description": "Repairman",
"required": true,
"type": "string"
}
},
"title": "Yes",
},
"title": "Yes",
"type": "object"
},
},
"_fixed": {
"title": "Fixed",
"properties": {
"mean": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
},
"title": "Fixed",
"type": "object"
},
},
"_gama": {
"description": "Gama",
"description": "Gama",
"properties": {
"rate": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
},
},
"shape": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Gama",
},
"title": "Gama",
"type": "object"
},
},
"_geometric": {
"description": "Geometric",
"description": "Geometric",
"properties": {
"probability": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Geometric",
},
"title": "Geometric",
"type": "object"
},
},
"_logistic": {
"description": "Logistic",
"description": "Logistic",
"properties": {
"location": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
},
},
"scale": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Logistic",
},
"title": "Logistic",
"type": "object"
},
},
"_lognormal": {
"description": "Lognormal",
"description": "Lognormal",
"properties": {
"mean": {
"_class": "Dream.Property",
"default": 0,
"name": "Mean",
"_class": "Dream.Property",
"default": 0,
"name": "Mean",
"type": "number"
},
},
"stdev": {
"_class": "Dream.Property",
"default": 0,
"name": "Standard Deviation",
"_class": "Dream.Property",
"default": 0,
"name": "Standard Deviation",
"type": "number"
}
},
"title": "Lognormal",
},
"title": "Lognormal",
"type": "object"
},
},
"_no": {
"description": "None",
"title": "No",
"description": "None",
"title": "No",
"type": "string"
},
},
"_normal": {
"description": "Normal",
"description": "Normal",
"properties": {
"mean": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
},
},
"stdev": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Normal",
},
"title": "Normal",
"type": "object"
},
},
"_poisson": {
"description": "Poisson",
"description": "Poisson",
"properties": {
"lambda": {
"default": 0,
"default": 0,
"type": "number"
}
},
"title": "Poisson",
},
"title": "Poisson",
"type": "object"
},
},
"_weibull": {
"description": "Weibull",
"description": "Weibull",
"properties": {
"scale": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
},
},
"shape": {
"default": 0,
"required": true,
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Weibull",
},
"title": "Weibull",
"type": "object"
}
}
},
},
"edge": {
"description": "Base definition for edge",
"description": "Base definition for edge",
"properties": {
"_class": {
"type": "string"
},
},
"destination": {
"type": "string"
},
},
"name": {
"type": "string"
},
},
"source": {
"type": "string"
}
},
},
"required": [
"_class",
"source",
"_class",
"source",
"destination"
],
],
"type": "object"
},
},
"node": {
"description": "Base definition for node",
"description": "Base definition for node",
"properties": {
"_class": {
"type": "string"
},
},
"coordinate": {
"properties": {
"left": "number",
"left": "number",
"top": "number"
},
},
"type": "object"
},
},
"name": {
"type": "string"
}
},
},
"required": [
"name",
"name",
"_class"
],
],
"type": "object"
}
},
"constraints": {},
"general": {},
},
"constraints": {},
"general": {
"name": "BatchAllInOneEmpty.json"
},
"graph": {
"edge": {
"con_10": {
"_class": "Dream.Edge",
"destination": "QPa",
"source": "PrB"
},
"con_100": {
"_class": "Dream.Edge",
"destination": "M3B",
"source": "Q3B"
},
"con_105": {
"_class": "Dream.Edge",
"destination": "BRB",
"source": "M3B"
},
"con_110": {
"_class": "Dream.Edge",
"destination": "QM",
"source": "BRB"
},
"con_115": {
"_class": "Dream.Edge",
"destination": "MM",
"source": "QM"
},
"con_120": {
"_class": "Dream.Edge",
"destination": "QPr",
"source": "MM"
},
"con_125": {
"_class": "Dream.Edge",
"destination": "PrA",
"source": "QPr"
},
"con_130": {
"_class": "Dream.Edge",
"destination": "PrB",
"source": "QPr"
},
"con_135": {
"_class": "Dream.Edge",
"destination": "QPa",
"source": "PrA"
},
"con_15": {
"_class": "Dream.Edge",
"destination": "PaA",
"source": "QPa"
},
"con_20": {
"_class": "Dream.Edge",
"destination": "PaB",
"source": "QPa"
},
"con_25": {
"_class": "Dream.Edge",
"destination": "E1",
"source": "PaA"
},
"con_30": {
"_class": "Dream.Edge",
"destination": "E1",
"source": "PaB"
},
"con_35": {
"_class": "Dream.Edge",
"destination": "BDA",
"source": "QStart"
},
"con_40": {
"_class": "Dream.Edge",
"destination": "BDB",
"source": "QStart"
},
"con_45": {
"_class": "Dream.Edge",
"destination": "M1A",
"source": "BDA"
},
"con_5": {
"_class": "Dream.Edge",
"destination": "Q2A",
"source": "M1A"
},
"con_50": {
"_class": "Dream.Edge",
"destination": "M2A",
"source": "Q2A"
},
"con_55": {
"_class": "Dream.Edge",
"destination": "Q3A",
"source": "M2A"
},
"con_60": {
"_class": "Dream.Edge",
"destination": "M3A",
"source": "Q3A"
},
"con_65": {
"_class": "Dream.Edge",
"destination": "BRA",
"source": "M3A"
},
"con_70": {
"_class": "Dream.Edge",
"destination": "QStart",
"source": "S1"
},
"con_75": {
"_class": "Dream.Edge",
"destination": "QM",
"source": "BRA"
},
"con_80": {
"_class": "Dream.Edge",
"destination": "M1B",
"source": "BDB"
},
"con_85": {
"_class": "Dream.Edge",
"destination": "Q2B",
"source": "M1B"
},
"con_90": {
"_class": "Dream.Edge",
"destination": "M2B",
"source": "Q2B"
},
"con_95": {
"_class": "Dream.Edge",
"destination": "Q3B",
"source": "M2B"
}
},
"node": {
"BDA": {
"_class": "Dream.BatchDecompositionStartTime",
"coordinate": {
"left": 0.17522921311349376,
"top": 0.014751694583812569
},
"name": "Deco_A",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"max": "",
"mean": 0,
"min": "",
"stdev": ""
}
},
"BDB": {
"_class": "Dream.BatchDecompositionStartTime",
"coordinate": {
"left": 0.17889893485409047,
"top": 0.18992806776658683
},
"name": "Deco_B",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"mean": 0
}
},
"BRA": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.7623846916089703,
"top": 0.014751694583812569
},
"name": "Assembly_A",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"mean": 0
}
},
"BRB": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.7486232350817325,
"top": 0.2175874951112354
},
"name": "Assembly_B",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"mean": 0
}
},
"E1": {
"_class": "Dream.Exit",
"coordinate": {
"left": 0.781650730747103,
"top": 0.8537543240381524
},
"name": "Stock"
},
"EV": {
"_class": "Dream.EventGenerator",
"argumentDict": "{}",
"coordinate": {
"left": 0.01834860870298364,
"top": 0.829782820339457
},
"duration": 10,
"interval": 1440,
"method": "Globals.countIntervalThroughput",
"name": "Attainment",
"start": 1440,
"stop": -1
},
"M1A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.26697225662841195,
"top": 0.005531885468929714
},
"failures": {},
"name": "RO_E_M_A_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M1B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.27339426967445624,
"top": 0.18992806776658683
},
"failures": {},
"name": "RO_E_M_A_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M2A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4596326480097402,
"top": 0.005531885468929714
},
"failures": {},
"name": "P_B_A_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M2B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4568803567042926,
"top": 0.18992806776658683
},
"failures": {},
"name": "P_B_A_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M3A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6614673437425602,
"top": 0.023971503698695426
},
"failures": {},
"name": "D_B_A_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M3B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6495407480856209,
"top": 0.20836768599635255
},
"failures": {},
"name": "D_B_A_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"MM": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.882568078613513,
"top": 0.34666482271959537
},
"failures": {},
"name": "Moulding",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PaA": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8926598134001541,
"top": 0.7707760420042068
},
"failures": {},
"name": "Packaging_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PaB": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.670641648094052,
"top": 0.7707760420042068
},
"failures": {},
"name": "Packaging_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PrA": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8788983568729164,
"top": 0.6048194779363153
},
"failures": {},
"name": "Pressure_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PrB": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6844031046212897,
"top": 0.5863798597065496
},
"failures": {},
"name": "Pressure_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"Q2A": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.35871530014333014,
"top": 0.014751694583812569
},
"name": "Q2A",
"schedulingRule": "FIFO"
},
"Q2B": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.3651373131893744,
"top": 0.18070825865170398
},
"name": "Q2B",
"schedulingRule": "FIFO"
},
"Q3A": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.569724300227642,
"top": 0.014751694583812569
},
"name": "Q3A",
"schedulingRule": "FIFO"
},
"Q3B": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.5577977045707027,
"top": 0.19914787688146968
},
"name": "Q3B",
"schedulingRule": "FIFO"
},
"QM": {
"_class": "Dream.Queue",
"capacity": 3.0,
"coordinate": {
"left": 0.8642194699105294,
"top": 0.1530488313070554
},
"name": "QM",
"schedulingRule": "FIFO"
},
"QPa": {
"_class": "Dream.Queue",
"capacity": 3.0,
"coordinate": {
"left": 0.781650730747103,
"top": 0.6509185235107297
},
"name": "QPa",
"schedulingRule": "FIFO"
},
"QPr": {
"_class": "Dream.Queue",
"capacity": 3.0,
"coordinate": {
"left": 0.7908250350985949,
"top": 0.503401577672604
},
"name": "QPr",
"schedulingRule": "FIFO"
},
"QStart": {
"_class": "Dream.Queue",
"capacity": 1.0,
"coordinate": {
"left": 0.0972476261258133,
"top": 0.09772997661775827
},
"name": "StartQueue",
"schedulingRule": "FIFO"
},
"S1": {
"_class": "Dream.BatchSource",
"batchNumberOfUnits": 100,
"coordinate": {
"left": 0.0037421998521831056,
"top": 0.09077525071036834
},
"entity": "Dream.Batch",
"interarrivalTime": {
"distributionType": "Fixed",
"mean": 0.5
},
"name": "Source"
}
}
},
"edge": {},
"node": {}
},
"input": {
"machine_shift_spreadsheet": [
[
"Date",
"Machines",
"Start",
"Date",
"Machines",
"Start",
"Stop"
],
],
[
"2014/02/18",
"M1A,M2A,M3A,PrA, PaA",
"6:00",
"13:00"
],
"",
"",
"",
""
]
],
"operator_shift_spreadsheet": [
[
"2014/02/18",
"M1B,M2B,M3B,PrB,PaB",
"6:00",
"21:00"
],
"Date",
"Product Builder",
"Start",
"Stop"
],
[
"2014/02/19",
"M1A,M2A,M3A,PrA,PaA",
"6:00",
"13:00"
],
null,
null,
null,
null
]
],
"operator_skill_spreadsheet": [
[
"Product Builder",
"Skills"
],
[
null,
null
]
],
"wip_spreadsheet": [
[
"2014/02/19",
"M1B,M2B,M3B,PrB,PaB",
"6:00",
"21:00"
],
"ID",
"StationID",
"Number of Units",
"Remaining Units",
"Type",
"Batch ID"
],
[
"",
"",
null,
null,
null,
null,
null,
null,
null
]
]
},
},
"result": {
"result_list": []
}
}
}
\ No newline at end of file
{
"application_configuration": {
"general": {
"properties": {
"confidenceLevel": {
"default": 0.95,
"description": "Confidence level for statistical analysis of stochastic experiments",
"name": "Confidence level",
"type": "number"
},
"currentDate": {
"default": "2014/02/18",
"description": "The day the experiment starts, in YYYY/MM/DD format",
"name": "Simulation start time",
"type": "string"
},
"ke_url": {
"default": "http://git.erp5.org/gitweb/dream.git/blob_plain/HEAD:/dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"description": "The URL for knowledge extraction to access its data for example http://git.erp5.org/gitweb/dream.git/blob_plain/HEAD:/dream/KnowledgeExtraction/Mockup_Processingtimes.xls",
"name": "URL for Knowledge Extraction Spreadsheet",
"type": "string"
},
"maxSimTime": {
"default": 100,
"description": "Length of the simulation run",
"name": "Length of experiment",
"type": "number"
},
"numberOfReplications": {
"default": 10,
"description": "Number of replications to run",
"name": "Number of replications",
"type": "number"
},
"processTimeout": {
"default": 10,
"description": "Number of seconds before the calculation process is interrupted",
"name": "Process timeout",
"type": "number"
},
"seed": {
"default": "1",
"description": "When using the same seed, the random number generator produce the same sequence of numbers",
"name": "Seed for random number generator",
"type": "number"
},
"throughputTarget": {
"default": 10,
"description": "The daily throughput target in units.",
"name": "Daily throughput target",
"type": "number"
},
"timeUnitPerDay": {
"default": 24,
"description": "Used for input and reporting widgets. For example, 24 means that simulation clock time unit is one hour.",
"name": "Number of time units per day",
"type": "number"
},
"trace": {
"default": "No",
"description": "Create an excel trace file (Yes or No)",
"enum": [
"No",
"Yes"
],
"name": "Output Trace",
"type": "string"
}
}
},
"input": {
"view": {
"gadget": "Input_viewProductionLine",
"title": "Production Line",
"type": "object_view"
},
"view_machine_shift_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Date",
"type": "string"
},
{
"name": "Machine",
"type": "string"
},
{
"name": "Start",
"type": "string"
},
{
"name": "Stop",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Machine Shifts Spreadsheet",
"type": "object_view"
},
"view_management": {
"gadget": "Input_viewDocumentManagement",
"title": "Manage Document",
"type": "object_view"
},
"view_operator_shift_spreadsheet": {
"configuration": {
"columns": [
{
"format": "date-time",
"name": "Date",
"type": "string"
},
{
"name": "Product Builder",
"type": "string"
},
{
"name": "Start",
"type": "string"
},
{
"name": "Stop",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Shifts Spreadsheet",
"type": "object_view"
},
"view_operator_skill_spreadsheet": {
"configuration": {
"columns": [
{
"name": "Product Builder",
"type": "string"
},
{
"name": "Skills",
"type": "array"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "Product Builder Skills",
"type": "object_view"
},
"view_wip_spreadsheet": {
"configuration": {
"columns": [
{
"name": "ID",
"type": "string"
},
{
"name": "StationID",
"type": "string"
},
{
"name": "Number of Units",
"type": "number"
},
{
"name": "Remaining Units",
"type": "number"
},
{
"name": "Type",
"type": "string"
},
{
"name": "Batch ID",
"type": "string"
}
]
},
"gadget": "Input_viewSpreadsheet",
"title": "WIP Spreadsheet",
"type": "object_view"
},
"view_run_simulation": {
"gadget": "Input_viewSimulation",
"title": "Run Simulation",
"type": "object_view"
},
"view_result": {
"gadget": "Input_viewResultList",
"title": "Results",
"type": "object_view"
}
},
"output": {
"view_station_utilization": {
"configuration": {
"data": {
"blockage": [
"blockage_ratio"
],
"failure": [
"failure_ratio"
],
"waiting": [
"waiting_ratio"
],
"working": [
"working_ratio",
"setup_ratio",
"load_ratio"
]
},
"family": "Server",
"plot": "bars"
},
"gadget": "Output_viewStationUtilisationGraph",
"title": "Station Utilization",
"type": "object_view"
},
"view_exit_stats": {
"configuration": {
"properties": {
"lifespan": {
"type": "number"
},
"taktTime": {
"type": "number"
},
"throughput": {
"type": "number"
}
}
},
"gadget": "Output_viewExitStatistics",
"title": "Exit Statistics",
"type": "object_view"
},
"view_operator_gantt": {
"configuration": {
"data": {
"Operator": []
}
},
"gadget": "Output_viewGantt",
"title": "Operator Gantt",
"type": "object_view"
},
"view_queue_stats": {
"configuration": {
"data": {
"queue_stat": [
"wip_stat_list"
]
},
"family": "Buffer",
"plot": "line"
},
"gadget": "Output_viewQueueStatGraph",
"title": "Queue Utilization Graph",
"type": "object_view"
}
},
"post_processing": {
"description" : "",
"plugin_list" : []
},
"pre_processing": {
"description" : "",
"plugin_list" : [
{
"_class": "dream.plugins.AddBatchStations.AddBatchStations",
"input_id": "batchStations"
},
{
"_class": "dream.plugins.GatherWIPStat.GatherWIPStat",
"input_id": "WIPStat"
},
{
"_class": "dream.plugins.ReadEntryData.ReadEntryData",
"input_id": "EntryData"
},
{
"_class": "dream.plugins.BatchesWIPSpreadsheet.BatchesWIPSpreadsheet",
"input_id": "WipSpreadsheet"
},
{
"_class": "dream.plugins.ReadSkilledOperators.ReadSkilledOperators",
"input_id": "SkilledOperatorsSpreadsheet"
},
{
"_class": "dream.plugins.ReadShiftFromSpreadsheet.ReadShiftFromSpreadsheet",
"input_id": "ShiftSpreadsheet"
}
]
},
"processing_plugin": {
"description" : "",
"_class": "dream.plugins.plugin.DefaultExecutionPlugin"
}
},
"class_definition": {
"Dream.BatchDecompositionStartTime": {
"_class": "Dream.BatchDecompositionStartTime",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "D",
"type": "string"
},
"name": {
"default": "Decomposition",
"type": "string"
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that decomposes batches into sub-batches",
"name": "Decomposition"
},
"Dream.BatchReassembly": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "R",
"type": "string"
},
"name": {
"default": "Reassembly",
"type": "string"
},
"numberOfSubBatches": {
"default": 10,
"description": "Number Of Sub-Batches",
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#dfd",
"backgroundImage": "linear-gradient(to bottom, #dfd 0%, #cec 100%)",
"border": "1px solid #bcb"
},
"description": "A station that assembles sub-batches back into a parent batch",
"name": "Reassembly"
},
"Dream.BatchScrapMachine": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "M",
"required": true,
"type": "string"
},
"interruption": {
"name": "Interruptions",
"properties": {
"failure": {
"$ref": "#/definitions/_failureDist",
"required": true
}
},
"type": "object"
},
"name": {
"default": "Machine",
"name": "Name",
"type": "string"
},
"processingTime": {
"$ref": "#/definitions/_dist",
"description": "TODO: describe processing time",
"name": "Processing time",
"required": true
},
"scrapping": {
"$ref": "#/definitions/_dist",
"description": "TODO: describe scrapping",
"name": "Scrapping",
"required": true
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#fef",
"backgroundImage": "linear-gradient(to bottom, #fef 0%, #ede 100%)",
"border": "1px solid #cbc"
},
"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.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",
"required": true,
"type": "string"
},
"duration": {
"default": 10,
"description": "duration",
"required": true,
"type": "number"
},
"id": {
"default": "A",
"required": true,
"type": "string"
},
"interval": {
"default": 10,
"description": "interval time",
"required": true,
"type": "number"
},
"method": {
"default": "Globals.countIntervalThroughput",
"description": "method to be performed",
"required": true,
"type": "string"
},
"name": {
"default": "Attainment",
"type": "string"
},
"start": {
"default": 1,
"description": "Start time",
"required": true,
"type": "number"
},
"stop": {
"default": -1,
"description": "Stop time",
"required": true,
"type": "number"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#fdc",
"backgroundImage": "linear-gradient(to bottom, #fdc 0%, #ecb 100%)",
"border": "1px solid #cba"
},
"description": "Attainment",
"name": "Attainment"
},
"Dream.Exit": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"id": {
"default": "E",
"required": true
},
"name": {
"default": "Exit",
"type": "string"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eef",
"backgroundImage": "linear-gradient(to bottom, #eef 0%, #dde 100%)",
"border": "1px solid #ccb"
},
"description": "A station where entities exits from the system",
"name": "Exit",
"shape": "rectangle"
},
"Dream.LineClearance": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"required": true
},
"id": {
"default": "C",
"type": "string"
},
"name": {
"default": "Clearance",
"type": "string"
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"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",
"properties": {
"class": {
"default": "Dream.Batch",
"description": "Entity class",
"required": true,
"type": "string"
},
"numberOfUnits": {
"default": 80,
"description": "Number of units per batch",
"required": true,
"type": "number"
}
},
"required": true,
"type": "object"
},
"id": {
"default": "E",
"required": true,
"type": "string"
},
"name": {
"default": "Entry",
"type": "string"
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#ffe",
"backgroundImage": "linear-gradient(to bottom, #ffe 0%, #dde 100%)",
"border": "1px solid #bbc"
},
"description": "A station creating batches",
"name": "Entry"
},
"Dream.Queue": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"capacity": {
"$ref": "#/definitions/_capacity",
"required": true
},
"id": {
"default": "Q",
"type": "string"
},
"name": {
"default": "Queue",
"type": "string"
},
"schedulingRule": {
"$ref": "#/definitions/_schedulingRule",
"required": true
}
},
"type": "object"
}
],
"css": {
"backgroundColor": "#eff",
"backgroundImage": "linear-gradient(to bottom, #eff 0%, #dee 100%)",
"border": "1px solid #bcc"
},
"description": "A buffer where entities can be hold until the next station is ready to process them",
"name": "Queue"
},
"Dream.BatchSource": {
"_class": "node",
"allOf": [
{
"$ref": "#/node"
},
{
"properties": {
"entity": {
"default": "Dream.Part",
"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"
},
"definitions": {
"_capacity": {
"default": 1,
"description": "capacity of the queue. -1 means infinite",
"oneOf": [
{
"enum": [
-1
]
},
{
"multipleOf": 1
}
],
"type": "number"
},
"_dist": {
"allOf": [
{
"properties": {
"distribution": {
"default": "Fixed",
"enum": [
"Fixed",
"Exp",
"Normal",
"Lognormal",
"Binomial",
"Poisson",
"Logistic",
"Cauchy",
"Geometric",
"Gama",
"Weibull"
],
"type": "string"
}
},
"type": "object"
},
{
"oneOf": [
{
"$ref": "#/definitions/distributionTypes/_fixed"
},
{
"$ref": "#/definitions/distributionTypes/_exp"
},
{
"$ref": "#/definitions/distributionTypes/_normal"
},
{
"$ref": "#/definitions/distributionTypes/_lognormal"
},
{
"$ref": "#/definitions/distributionTypes/_binomial"
},
{
"$ref": "#/definitions/distributionTypes/_poisson"
},
{
"$ref": "#/definitions/distributionTypes/_logistic"
},
{
"$ref": "#/definitions/distributionTypes/_cauchy"
},
{
"$ref": "#/definitions/distributionTypes/_geometric"
},
{
"$ref": "#/definitions/distributionTypes/_gama"
},
{
"$ref": "#/definitions/distributionTypes/_weibull"
}
]
}
]
},
"_failureDist": {
"allOf": [
{
"properties": {
"failureDistribution": {
"default": "No",
"enum": [
"No",
"Yes"
],
"type": "string"
}
},
"type": "object"
},
{
"oneOf": [
{
"$ref": "#/definitions/distributionTypes/_failure"
},
{
"$ref": "#/definitions/distributionTypes/_no"
}
]
}
]
},
"_operationType": {
"_class": "Dream.PropertyList",
"description": "the type of operations that are performed manually in the machine",
"id": "operationType",
"name": "Operation type",
"properties": {
"operationType": {
"enum": [
"MT-Load",
"MT-Load-Setup",
"MT-Load-Setup-Processing"
],
"type": "string"
}
}
},
"_schedulingRule": {
"default": "FIFO",
"description": "Scheduling Rule of this buffer",
"enum": [
"FIFO",
"Priority",
"EDD",
"EOD",
"NumStages",
"RPC",
"LPT",
"SPT",
"MS",
"WINQ",
"WT"
],
"type": "string"
},
"distributionTypes": {
"_binomial": {
"description": "Binomial",
"properties": {
"mean": {
"default": 0,
"type": "number"
},
"size": {
"default": 0,
"type": "number"
}
},
"title": "Binomial",
"type": "object"
},
"_cauchy": {
"description": "Cauchy",
"properties": {
"location": {
"default": 0,
"type": "number"
},
"scale": {
"default": 0,
"type": "number"
}
},
"title": "Cauchy",
"type": "object"
},
"_exp": {
"description": "Exponential",
"properties": {
"mean": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Exp",
"type": "object"
},
"_failure": {
"properties": {
"Time to Failure": {
"$ref": "#/definitions/_dist"
},
"Time to Repair": {
"$ref": "#/definitions/_dist"
},
"repairman": {
"description": "Repairman",
"required": true,
"type": "string"
}
},
"title": "Yes",
"type": "object"
},
"_fixed": {
"title": "Fixed",
"properties": {
"mean": {
"default": 0,
"required": true,
"type": "number"
}
},
"type": "object"
},
"_gama": {
"description": "Gama",
"properties": {
"rate": {
"default": 0,
"required": true,
"type": "number"
},
"shape": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Gama",
"type": "object"
},
"_geometric": {
"description": "Geometric",
"properties": {
"probability": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Geometric",
"type": "object"
},
"_logistic": {
"description": "Logistic",
"properties": {
"location": {
"default": 0,
"required": true,
"type": "number"
},
"scale": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Logistic",
"type": "object"
},
"_lognormal": {
"description": "Lognormal",
"properties": {
"mean": {
"_class": "Dream.Property",
"default": 0,
"name": "Mean",
"type": "number"
},
"stdev": {
"_class": "Dream.Property",
"default": 0,
"name": "Standard Deviation",
"type": "number"
}
},
"title": "Lognormal",
"type": "object"
},
"_no": {
"description": "None",
"title": "No",
"type": "string"
},
"_normal": {
"description": "Normal",
"properties": {
"mean": {
"default": 0,
"required": true,
"type": "number"
},
"stdev": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Normal",
"type": "object"
},
"_poisson": {
"description": "Poisson",
"properties": {
"lambda": {
"default": 0,
"type": "number"
}
},
"title": "Poisson",
"type": "object"
},
"_weibull": {
"description": "Weibull",
"properties": {
"scale": {
"default": 0,
"required": true,
"type": "number"
},
"shape": {
"default": 0,
"required": true,
"type": "number"
}
},
"title": "Weibull",
"type": "object"
}
}
},
"edge": {
"description": "Base definition for edge",
"properties": {
"_class": {
"type": "string"
},
"destination": {
"type": "string"
},
"name": {
"type": "string"
},
"source": {
"type": "string"
}
},
"required": [
"_class",
"source",
"destination"
],
"type": "object"
},
"node": {
"description": "Base definition for node",
"properties": {
"_class": {
"type": "string"
},
"coordinate": {
"properties": {
"left": "number",
"top": "number"
},
"type": "object"
},
"name": {
"type": "string"
}
},
"required": [
"name",
"_class"
],
"type": "object"
}
},
"constraints": {},
"general": {},
"graph": {
"edge": {
"con_10": {
"_class": "Dream.Edge",
"destination": "QPa",
"source": "PrB"
},
"con_100": {
"_class": "Dream.Edge",
"destination": "M3B",
"source": "Q3B"
},
"con_105": {
"_class": "Dream.Edge",
"destination": "BRB",
"source": "M3B"
},
"con_110": {
"_class": "Dream.Edge",
"destination": "QM",
"source": "BRB"
},
"con_115": {
"_class": "Dream.Edge",
"destination": "MM",
"source": "QM"
},
"con_120": {
"_class": "Dream.Edge",
"destination": "QPr",
"source": "MM"
},
"con_125": {
"_class": "Dream.Edge",
"destination": "PrA",
"source": "QPr"
},
"con_130": {
"_class": "Dream.Edge",
"destination": "PrB",
"source": "QPr"
},
"con_135": {
"_class": "Dream.Edge",
"destination": "QPa",
"source": "PrA"
},
"con_15": {
"_class": "Dream.Edge",
"destination": "PaA",
"source": "QPa"
},
"con_20": {
"_class": "Dream.Edge",
"destination": "PaB",
"source": "QPa"
},
"con_25": {
"_class": "Dream.Edge",
"destination": "E1",
"source": "PaA"
},
"con_30": {
"_class": "Dream.Edge",
"destination": "E1",
"source": "PaB"
},
"con_35": {
"_class": "Dream.Edge",
"destination": "BDA",
"source": "QStart"
},
"con_40": {
"_class": "Dream.Edge",
"destination": "BDB",
"source": "QStart"
},
"con_45": {
"_class": "Dream.Edge",
"destination": "M1A",
"source": "BDA"
},
"con_5": {
"_class": "Dream.Edge",
"destination": "Q2A",
"source": "M1A"
},
"con_50": {
"_class": "Dream.Edge",
"destination": "M2A",
"source": "Q2A"
},
"con_55": {
"_class": "Dream.Edge",
"destination": "Q3A",
"source": "M2A"
},
"con_60": {
"_class": "Dream.Edge",
"destination": "M3A",
"source": "Q3A"
},
"con_65": {
"_class": "Dream.Edge",
"destination": "BRA",
"source": "M3A"
},
"con_70": {
"_class": "Dream.Edge",
"destination": "QStart",
"source": "S1"
},
"con_75": {
"_class": "Dream.Edge",
"destination": "QM",
"source": "BRA"
},
"con_80": {
"_class": "Dream.Edge",
"destination": "M1B",
"source": "BDB"
},
"con_85": {
"_class": "Dream.Edge",
"destination": "Q2B",
"source": "M1B"
},
"con_90": {
"_class": "Dream.Edge",
"destination": "M2B",
"source": "Q2B"
},
"con_95": {
"_class": "Dream.Edge",
"destination": "Q3B",
"source": "M2B"
}
},
"node": {
"BDA": {
"_class": "Dream.BatchDecompositionStartTime",
"coordinate": {
"left": 0.17522921311349376,
"top": 0.014751694583812569
},
"name": "Deco_A",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"max": "",
"mean": 0,
"min": "",
"stdev": ""
}
},
"BDB": {
"_class": "Dream.BatchDecompositionStartTime",
"coordinate": {
"left": 0.17889893485409047,
"top": 0.18992806776658683
},
"name": "Deco_B",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"mean": 0
}
},
"BRA": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.7623846916089703,
"top": 0.014751694583812569
},
"name": "Assembly_A",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"mean": 0
}
},
"BRB": {
"_class": "Dream.BatchReassembly",
"coordinate": {
"left": 0.7486232350817325,
"top": 0.2175874951112354
},
"name": "Assembly_B",
"numberOfSubBatches": 4,
"processingTime": {
"distributionType": "Fixed",
"mean": 0
}
},
"E1": {
"_class": "Dream.Exit",
"coordinate": {
"left": 0.781650730747103,
"top": 0.8537543240381524
},
"name": "Stock"
},
"EV": {
"_class": "Dream.EventGenerator",
"argumentDict": "{}",
"coordinate": {
"left": 0.01834860870298364,
"top": 0.829782820339457
},
"duration": 10,
"interval": 1440,
"method": "Globals.countIntervalThroughput",
"name": "Attainment",
"start": 1440,
"stop": -1
},
"M1A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.26697225662841195,
"top": 0.005531885468929714
},
"failures": {},
"name": "RO_E_M_A_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M1B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.27339426967445624,
"top": 0.18992806776658683
},
"failures": {},
"name": "RO_E_M_A_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M2A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4596326480097402,
"top": 0.005531885468929714
},
"failures": {},
"name": "P_B_A_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M2B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.4568803567042926,
"top": 0.18992806776658683
},
"failures": {},
"name": "P_B_A_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M3A": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6614673437425602,
"top": 0.023971503698695426
},
"failures": {},
"name": "D_B_A_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"M3B": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6495407480856209,
"top": 0.20836768599635255
},
"failures": {},
"name": "D_B_A_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"MM": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.882568078613513,
"top": 0.34666482271959537
},
"failures": {},
"name": "Moulding",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PaA": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8926598134001541,
"top": 0.7707760420042068
},
"failures": {},
"name": "Packaging_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PaB": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.670641648094052,
"top": 0.7707760420042068
},
"failures": {},
"name": "Packaging_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PrA": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.8788983568729164,
"top": 0.6048194779363153
},
"failures": {},
"name": "Pressure_A",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"PrB": {
"_class": "Dream.BatchScrapMachine",
"coordinate": {
"left": 0.6844031046212897,
"top": 0.5863798597065496
},
"failures": {},
"name": "Pressure_B",
"processingTime": {
"distributionType": "Fixed",
"mean": 0.1
}
},
"Q2A": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.35871530014333014,
"top": 0.014751694583812569
},
"name": "Q2A",
"schedulingRule": "FIFO"
},
"Q2B": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.3651373131893744,
"top": 0.18070825865170398
},
"name": "Q2B",
"schedulingRule": "FIFO"
},
"Q3A": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.569724300227642,
"top": 0.014751694583812569
},
"name": "Q3A",
"schedulingRule": "FIFO"
},
"Q3B": {
"_class": "Dream.LineClearance",
"capacity": 2.0,
"coordinate": {
"left": 0.5577977045707027,
"top": 0.19914787688146968
},
"name": "Q3B",
"schedulingRule": "FIFO"
},
"QM": {
"_class": "Dream.Queue",
"capacity": 3.0,
"coordinate": {
"left": 0.8642194699105294,
"top": 0.1530488313070554
},
"name": "QM",
"schedulingRule": "FIFO"
},
"QPa": {
"_class": "Dream.Queue",
"capacity": 3.0,
"coordinate": {
"left": 0.781650730747103,
"top": 0.6509185235107297
},
"name": "QPa",
"schedulingRule": "FIFO"
},
"QPr": {
"_class": "Dream.Queue",
"capacity": 3.0,
"coordinate": {
"left": 0.7908250350985949,
"top": 0.503401577672604
},
"name": "QPr",
"schedulingRule": "FIFO"
},
"QStart": {
"_class": "Dream.Queue",
"capacity": 1.0,
"coordinate": {
"left": 0.0972476261258133,
"top": 0.09772997661775827
},
"name": "StartQueue",
"schedulingRule": "FIFO"
},
"S1": {
"_class": "Dream.BatchSource",
"batchNumberOfUnits": 100,
"coordinate": {
"left": 0.0037421998521831056,
"top": 0.09077525071036834
},
"entity": "Dream.Batch",
"interarrivalTime": {
"distributionType": "Fixed",
"mean": 0.5
},
"name": "Source"
}
}
},
"input": {
"machine_shift_spreadsheet": [
[
"Date",
"Machines",
"Start",
"Stop"
],
[
"2014/02/18",
"M1A,M2A,M3A,PrA, PaA",
"6:00",
"13:00"
],
[
"2014/02/18",
"M1B,M2B,M3B,PrB,PaB",
"6:00",
"21:00"
],
[
"2014/02/19",
"M1A,M2A,M3A,PrA,PaA",
"6:00",
"13:00"
],
[
"2014/02/19",
"M1B,M2B,M3B,PrB,PaB",
"6:00",
"21:00"
],
[
"",
"",
null,
null
]
]
},
"result": {
"result_list": []
}
}
......@@ -692,7 +692,7 @@
}
},
"element_id": "DreamNode_13",
"_class": "Dream.M3",
"_class": "Dream.BatchScrapMachine",
"id": "St4M0"
},
"St6M1R": {
......
......@@ -327,7 +327,7 @@
}
},
{
"_class": "Dream.M3",
"_class": "Dream.BatchScrapMachine",
"family": "Server",
"id": "St4M0",
"results": {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment