- •Курсовая работа
- •1. Формализация концептуальной модели
- •1.1.Построение формальной схемы функционирования системы
- •1.2. Определение закона функционирования системы
- •3.3. Анализ результатов моделирования
- •2.4. Верификация (тестирование) программы
- •2.5. Описание моделирующей программы для стохастической модели
- •3. Получение и интерпретация результатов моделирования
- •3.1. Планирование машинного эксперимента
- •3.2. Проведение прогонов модели
1. Формализация концептуальной модели
1.1.Построение формальной схемы функционирования системы
Моделируемая система представляет собой систему массового обслуживания с непрерывно – стохастическим законом функционирования.
Следовательно, в качестве аппарата формализации процессов функционирования рассматриваемой системы будем использовать типовую Q – схему /1/. Построим структурную схему системы, используя стандартные обозначения элементов Q – схемы (рис.1). В данной схеме использованы обозначения: И – источник заявок (пользователь), К1 – терминал 1, К2 – терминал 2, К3 – ЭВМ1, К4 – ЭВМ2, N – очередь пользователей к терминалам.
За единицу модельного времени (емв) примем 1 минуту. Общее время моделирования при 100 заданий неизвестно.
1.2. Определение закона функционирования системы
Работу системы отразим временными диаграммами (рис.2). С помощью временных диаграмм рассчитаем ожидаемое значение выходной характеристики – время обработанных 100 заданий. Через определенное время в ВЦ приходят пользователи. Их обслуживают два терминала в течении 6+3, 4+1 мин. Если терминалы заняты, пользователю отказывают в обслуживании. Далее заявки буферизуются и поступают либо на ЭВМ 1, либо на ЭВМ2, где обрабатываются и далее уходят из системы. На начальном этапе построения модели будем рассматривать детерминированный вариант модели. Для этого при создании детерминированной модели заданной вычислительной системы заменим стохастические потоки их математическими ожиданиями: время приходом пользователей - 2 минуты; время обслуживания 1 терминала – 6 мин; время обслуживания 2 терминала – 4 мин. Время обработки программы на ЭВМ1 – 2 мин; время обработки программы на ЭВМ2 – 1 мин. 1-х двух пользователей обслуживают 1 и 2 терминалы, 3 пользователю отказывают в обслуживании. 1 терминал обслуживает 6 минут, 2 терминал на 2 минуте захватывает и обслуживает 4 минуты. 4 пользователя обслуживает 1 терминал до 12 минуты, 5 пользователя 2 терминал также до 12 минуты и т д. Итак, каждый 3-ий пользователь уходит необслуженным. Обработанные на терминалах заявки поступают для дальнейшей обработки на соответствующую ЭВМ. На ЭВМ1 программы обрабатываются в течении 2 мин, поступая с 1 терминала. До поступления программы 4 пользователя образуется простой размерностью 4 минуты. На ЭВМ2 программы обрабатываются в течении 1 мин, поступая со 2 терминала. До поступления программы 5 пользователя образуется простой размерностью также 4 минуты. За 30 минут работы системы на ЭВМ1 обработаны 4 программы начиная с 6 минуты, простой 4 минуты. На ЭВМ2 также 4 программы начиная с 6 минтуы, простой 5 минут. Таким образом, 100 программ будет обработано за: (100*30)/8 = 437,5 емв.
И
==
Рис.1.
5
100
15
20
25
30
35
И
К1
К2
К3
К4
Рис.2.
2. Алгоритмизация модели и её машинная реализация
2.1. Выбор технических и программных средств моделирования
В качестве технических средств для выполнения курсовой работы по моделированию можно использовать ПЭВМ IBM РС/ТА, принтер, в качестве программное средство –комплексная моделирующая программаа для дискретного и непрерывного компьютерного моделирования (GPSS World Student).
2.2.Составление алгоритма моделирующей программы
2.3. Описание моделирующей программы для детерминированного варианта модели
Данная моделирующая программа составлена на языке GPSS.Здесь были использованы такие операторы как: TRANSFER ALL, ADVANCE, ASSIGN, DEPART и др. Рассмотрим их подробнее.
GENERATE - это блок, через который транзакты входят в модель. Не существует ограничений на число различных блоков GENERATE в одной модели.
Интервал времени между последовательными появлениями транзактов блока GENERATE называют интервалом поступления. Когда транзакт входит в модель через блок GENERATE, интерпретатор планирует время поступления следующего транзакта путем розыгрыша случайного числа в соответствии с распределением интервалов поступления и с последующим добавлением разыгранного значения к текущему значению таймера. При достижении этого значения времени следующий транзакт вводится в модель через блок GENERATE.
TRANSFER позволяет транзакту, в зависимости от условий, заданных в операндах блока, занять устройство.
Блок SEIZE имеет только одно поле (А), которое задает номер или имя устройства. При входе транзакта в блок SEIZE всегда проверяется занято устройство или нет. Если оно свободно, то оно занимается. Устройство свободно до тех пор, пока занимающий его транзакт не войдет в соответствующий блок RELEASE. Блок RELEASE предназначен для освобождения устройства тем транзактом, которым оно было занято.
Блок ADVANCE моделирует задержку вошедшего в него транзакта в течении определенного времени.
Блок ASSIGN является основным средством для задания значений параметров транзактов, он заменяет, увеличивает или уменьшает текущее значение параметра сообщения на заданное значение.
Блок TRANSFER позволяет направить сообщение к любому блоку модели. Он работает в режиме безусловного перехода в данном случае. (ALL).
Блок TERMINATE осуществляет вывод транзактов из системы (подсистемы).
Блоки QUEUE и DEPART описывают объекты типа «очередь». Статистика об очередях собирается в моменты входа сообщения(транзакта) в блок QUEUE (вход в очередь) или в блок DEPART (выход из очереди). Данные блоки являются информационно- статистическими и не влияют на внутренние операции процесса моделирования.
Блок SAVEVALUE сохраняет системные числовые атрибуты по времени моделирования и очередей.
Листинг программы для детерминированной модели представлен в Приложении 1.
