Часть полного текста документа:Моделирование работы в машинном зале в терминах Simula Постановка задачи. В студенческом машинном зале расположены две мини-ЭВМ и одно устройство подготовки данных (УПД). Студенты приходят с интервалом 8±3 мин. и треть из них хочет испытать УПД и ЭВМ, а остальные только ЭВМ. Допустимое количество студентов в машинном зале 4 чел., включая работающего на УПД. Работа на УПД занимает 9±4 мин. Работа на ЭВМ - 15±10 мин.; 20% работавших на ЭВМ возвращаются для повторного использования УПД и ЭВМ и остаются при этом в машинном зале. Если студент пришел в машинный зал, а там уже есть 4 чел., то он ждет не более 15±2 мин. в очереди в машинный зал и, если нет возможности в течение этого времени начать работать, то он уходит. Смоделировать работу в машинном зале в течение 48 часов. Определить: загрузку УПД и обеих ЭВМ, максимальную длину очереди в машинный зал, среднее время ожидания в очереди в машинный зал, распределение общего времени работы студента в машинном зале, количество студентов, которые не дождались возможности поработать и ушли. Решение задачи. Текст программы. Текст программы полностью приведен в конце данного документа. Схема решения в терминах предметной области. Собираясь приступить к работе в машинном зале, студент подходит к нему и проверяет, есть ли очередь в машинный зал. Если таковой нет, то он ищет в последнем свободное место, а если очередь есть, то становится в ее конец. Затем, либо входит в машинный зал, либо создает очередь, состоящую из одного человека (его самого). После этого ждет в течение 15±2 мин. Если за это время место в зале не освобождается, студент уходит, в противном же случае, он покидает очередь и попадает в машинный зал. Работа студента в машинном зале происходит следующим образом. Студент определяет, приступить ли ему к работе УПД, а затем на одной из ЭВМ (по условию задачи, число таких студентов составляет треть от общего числа посетителей) или пройти сразу к ЭВМ (все остальные). После работы на ЭВМ каждый студент может либо покинуть машинный зал, либо приступить к повторной работе (20%), теперь уже точно на УПД и ЭВМ. Схема решения задачи в терминах языка Симула. Глобальные переменные и массивы. M,U,C,P - целые числа, служащие для создания в программе четырех различных потоков независимых величин; I - счетчик цикла FOR (используется для вывода таблицы); MZCap - целое число, обозначающее число мест в машинном зале; Num - число студентов, покинувших очередь; Nmb - число студентов, дождавшихся обслуживания; MAX - максимальная длина очереди; Toz - суммарное время ожидания в очереди; Pupd - время простоя УПД; Pcomp - время простоя обеих ЭВМ; QUEUE - очередь в машинный зал; QUPD - очередь на УПД; QCOMP - очередь на ЭВМ; UPD1 - ссылка на УПД; COMP1 - ссылка на пару ЭВМ; Std - массив действительных чисел из 10 элементов, в которые помещаются данные о числе студентов, проделавших работу за i-й интервал времени [Ti-1,Ti]; Tim - массив действительных чисел, в котором хранятся границы временных интервалов Ti. Процессы. GENER - процесс, имитирующий появление студента у машинного зала; STUDENT - процесс, описывающий действия студента; COMP - процесс, изображающий работу двух мини-ЭВМ; UPD - процесс, изображающий работу УПД; Получение результатов. Для получения результатов используются перечисленные в пункте 2.3.1 глобальные переменные и следующие соотношения: Загрузка УПД = 1 - Pupd/time; Загрузка ЭВМ = 1 - Pcomp/time; Число ушедших студентов = Num; Максимальная длина очереди = MAX; Среднее время ожидания в очереди =Toz/(Num + Nmb) Распределение общего времени работы студента в машинном зале получено в виде массивов std и tim. Комментарии к программе. Подробные комментарии приведены в тексте программы в конце данного документа. Результаты. Загрузка УПД = 33,8%; Загрузка ЭВМ = 82,1%; Число ушедших студентов = 109; Максимальная длина очереди = 3; Среднее время ожидания в очереди = 9,79 мин. Распределение общего времени работы студентов в машинном зале приведено в таблице 2.1. Таблица 2.1 Число студентовИнтервалы времени 140 - 15 8615 - 30 5630 - 45 2045 - 60 1960 - 75 2475 - 90 1290 - 105 9105 - 120 8120 - 135 Исследование адекватности модели. Метод исследования. Рассмотренный далее метод не претендует на абсолютную точность, но, тем не менее, позволяет примерно оценить соответствие модели реальной ситуации. Метод заключается в использовании внесения изменений в начальные данные. ............ |