Ejemplo n.º 1
0
        private void Preprocess()
        {
            if (m_isFinished)
            {
                Log("\n *** Simulation started *** \n");

                // Initialize starting events
                TenantGenerator generator;
                TenantQueue     queue;
                foreach (int key in GeneratorsController.Floors)
                {
                    generator = GeneratorsController.Get(key);
                    queue     = QueuesController.Get(key);

                    CreateEvent_NewTenant(generator, queue);
                }

                // Force update statistics
                GeneratorsController.UpdateStatistics();
                QueuesController.UpdateStatistics();
                ElevatorsController.UpdateStatistics();

                m_isFinished = false;
            }
            else
            {
                Log("\n *** Simulation continued *** \n");
            }
        }
Ejemplo n.º 2
0
        private void Postprocess()
        {
            Log("\n *** Simulation stopped *** \n");

            // Force update statistics
            GeneratorsController.UpdateStatistics();
            QueuesController.UpdateStatistics();
            ElevatorsController.UpdateStatistics();
        }
Ejemplo n.º 3
0
        public void Reset()
        {
            // Reset time
            Time = 0;

            // Reset model elements
            m_scheduler.Reset();
            GeneratorsController.Reset();
            QueuesController.Reset();
            ElevatorsController.Reset();

            // Finish the simulation if it was started
            if (!m_isFinished)
            {
                Log("\n *** Simulation finished *** \n");
                m_isFinished = true;
            }
        }
Ejemplo n.º 4
0
 GeneratorsController()
 {
     instance = this;
 }