public ShepherdViewModel()
        {
            m_shepherd = new Shepherd();
            m_shepherd.setNotifyAgentListChangedFunc(notifyHerdAgentChanged);

            m_timer = new System.Timers.Timer(m_updateTimeSeconds*1000);
            m_shepherd.sendBroadcastHerdAgentQuery();
            m_shepherd.beginListeningHerdAgentQueryResponses();

            m_timer.AutoReset = true;
            m_timer.Elapsed += new System.Timers.ElapsedEventHandler(resendBroadcast);
            m_timer.Start();
        }
 public ExperimentBatch(string name, List<MonitoredExperimentViewModel> experiments,HerdAgentViewModel herdAgent
     ,PlotViewModel evaluationPlot,CancellationToken cancelToken, Logger.LogFunction logFunction)
 {
     m_name = name;
     m_monitoredExperiments = experiments;
     m_herdAgent = herdAgent;
     m_logFunction = logFunction;
     m_shepherd = new Shepherd();
     m_shepherd.setLogMessageHandler(logFunction);
     m_cancelToken = cancelToken;
     m_evaluationPlot = evaluationPlot;
     m_experimentSeriesId = new Dictionary<string, int>();
 }