##-------------------------------------------------------------------------
 if WindowSize > 0:
     obsman = Dynamic.ObservationsManager(WindowSize)
 else:
     obsman = Static.ObservationsManager()
 obsman.start()
 
 ## Define the observations queue based on whether or not dumping was set
 ##-------------------------------------------------------------------------
 if DumpObservationsFile:
     DumpQueue = Queue()
     ObservationsQueue = (obsman, DumpQueue)
     
     DumpWriter = DumpFileWriter(filename=DumpObservationsFile, queue=DumpQueue)
     DumpWriter.open()
     DumpWriter.start()
 else:
     ObservationsQueue = obsman
     
 ## Instantiate the Data Source
 ##-------------------------------------------------------------------------
 if ObservationFile:
     DataSource = DumpFileReader(queue=ObservationsQueue,filename=ObservationFile)
 elif SimulatePositions:
     DataSource = Simulator(queue=ObservationsQueue, cali=CalibrationData, tag=TagID,
                                 movement=SimulatePositions, mobility=SimulateMobility)
 else: 
     DataSource = ReceiverServer(queue=ObservationsQueue,t=ReceiverRate,n=ReceiverSamples)
 
 ## Create an InferenceEngine
 ##-------------------------------------------------------------------------