diff --git a/dream/simulation/Examples/BatchAllInOneEmpty.json b/dream/simulation/Examples/BatchAllInOneEmpty.json
index 89341b90f5d57766c0e467554e3b37b90b4a41aa..e3799e5dc668fa437558288b1dd68296d5f53d77 100644
--- a/dream/simulation/Examples/BatchAllInOneEmpty.json
+++ b/dream/simulation/Examples/BatchAllInOneEmpty.json
@@ -3,1552 +3,1125 @@
     "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.GatherWIPStat.GatherWIPStat",
+          "_class": "dream.plugins.AddBatchStations.AddBatchStations", 
+          "input_id": "batchStations"
+        }, 
+        {
+          "_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.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
-            },
+            }, 
             "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
+            }, 
+            "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"
+      ], 
+      [
+        null, 
+        null, 
+        null, 
+        null
+      ]
+    ], 
+    "operator_skill_spreadsheet": [
       [
-        "2014/02/19",
-        "M1A,M2A,M3A,PrA,PaA",
-        "6:00",
-        "13:00"
-      ],
+        "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
diff --git a/dream/simulation/Examples/BatchModel.json b/dream/simulation/Examples/BatchModel.json
new file mode 100644
index 0000000000000000000000000000000000000000..bca27a6ed25620c1c0b4aa6225d0e02ea19a50ba
--- /dev/null
+++ b/dream/simulation/Examples/BatchModel.json
@@ -0,0 +1,1558 @@
+{
+  "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": []
+  }
+}