Курсовая работа: Разработка средств моделирования систем
-
Метод string
fPEARSON6()задает параметры функции PEARSON6(Stream,Locate,Scale,Shape1,Shape2)
и возвращает строку содержащую описание этой функции с уже заданными
пользователем параметрами.
-
Метод
stringfPOISSON()задает параметры функции POISSON(Stream,Mean) и возвращает
строку содержащую описание этой функции с уже заданными пользователем
параметрами.
-
Метод
stringfTRIANGULAR()задает параметры функции
-
TRIANGULAR(Stream,Min,Max,Mode)
и возвращает строку содержащую описание этой функции с уже заданными
пользователем параметрами.
-
Метод
stringfUNIFORM() задает параметры функции UNIFORM(Stream,Min,Max) и возвращает
строку содержащую описание этой функции с уже заданными пользователем
параметрами.
4.2
Класс GPSSOperatori
-
Описываются
переменные целого типа nF, nST, nFas, nQ,
ответственные за номер используемой функции, номер многоканального устройства,
номер одноканального устройства, номер очереди соответственно.
-
МетодGENERATE задаёт параметры оператора GENERATE и возвращает строковое значение
этого оператора с заданными пользователем значениями параметров.
На первом этапе
определяется промежуток времени между появлениями транзактов. Он может быть:
постоянным, случайным, заданным функцией, зависящим от функции, а также не
задан.
При промежутке
времени между появлениями транзактов заданном функцией или зависящем от
функции, определяется, какой будет функция: стандартной или пользовательской, в
зависимости от этого вызываются функцииFStandи
FUNCTIONсоответственно.
На втором этапе
определяется время задержки появления первого транзакта. Оно может быть: задано
или не задано.
На третьем этапе
определяется предельное число транзактов.Оно так же может быть: задано или не
задано.
На четвёртом
этапе определяется приоритет транзактов. Он может быть: задан или не задан.
-
Метод ADVANCE задаёт параметры оператора ADVANCE и возвращает строковое значение
этого оператора с заданными пользователем значениями параметров.
В методе
определяется время задержки транзакта. Оно может быть: постоянным, случайным,
заданным функцией, зависящим от функции.
При времени
задержки транзакта заданном функцией или зависящем от функции, определяется,
какой будет функция: стандартной или пользовательской, в зависимости от этого
вызываются функцииFStandи
FUNCTIONсоответственно.
-
Метод ENTER возвращает строку содержащую
операторы языка имитационного моделирования GPSS, описывающие многоканальное устройство.
На первом этапе
в файл GPSStext.txt
(файл для записи сгенерированного текста программы на языке имитационного
моделирования GPSS) записывается описание
многоканального устройства, то есть его имя и количество каналов.
На втором этапе
определяется, на каком шаге программы пользователь желает получить статистику:
нахождение транзакта в очереди перед ОУ, нахождение транзакта в ОУ, общее
время обработки транзакта, а также возможен вариант без сбора статистики.
На третьем этапе
записывается оператор захвата многоканального устройства с названием этого
устройства и количеством захвачиваемых каналов.
На четвёртом
этапе происходит переход на генерацию текста оператора ADVANCE
.
На пятом этапе
записывается оператор освобождения многоканального устройства с названием этого
устройства и количеством освобождаемых каналов.
-
Метод SIZE возвращает строку содержащую
операторы языка имитационного моделирования GPSS, описывающие одноканальное устройство.
На первом этапе
определяется, на каком шаге программы пользователь желает получить статистику:
нахождение транзакта в очереди перед ОУ, нахождение транзакта в ОУ, общее
время обработки транзакта, а также возможен вариант без сбора статистики.
На втором этапе
записывается оператор захвата одноканального устройства с названием этого
устройства.
На третьем этапе
происходит переход на генерацию текста оператора ADVANCE
.
На четвертом
этапе записывается оператор освобождения одноканального устройства с названием
этого устройства.
-
Метод FUNCTION задаёт параметры оператора FUNCTION и возвращает строковое значение
этого оператора с заданными пользователем значениями параметров.
В файл GPSStext.txtна
первом этапе записывается номер генератора случайного числа; на втором этапе
тип функции; на третьем число точек и их координаты.
-
Метод Fstandartопределяет, какая стандартная
функция будут вызываться, то есть обращается в класс FuncStandart, и возвращает строку, содержащую
описание этой функции.
4.3
Класс GPSSText
-
Переменные oper, ukazat, matrix
типа vectorнаходящиеся в области private,определяют операторы принадлежащие
узлам, указатели на узлы, матрицу переходов от одного узла к другому
соответственно.
-
Метод Matrix генерирует матрицу переходов от
одного узла к другому, а также определяет, какие операторы принадлежат узлам.
На первом этапе
определяется оператор на соответствующем узле.
На втором этапе
в соответствии с номером узла, определяется, какая строка будет генерироваться
в матрице.
Если узел
содержит генератор, одноканальное либо многоканальное устройство, то в столбец с
номером узла, в который переходит дальше транзакт, записывается 1, в остальные
столбцы записывается 0.
Если узел
вероятностный, то в столбцы с номерами узлов, на которые совершается переход,
записывается соответствующая вероятность, в остальные столбцы записываются
нули.
Если узел
является терминатором, то в соответствующую строку записываются все нули.
Причем, при
каждом описании узла, в вектор operзаписывается
оператор, соответствующий узлу.
-
Метод Programma окончательно генерирует текст
программы, написанной на языке имитационного моделирования GPSS.
На первом этапе
вызывается метод Matrix,
который заполняет матрицу переходов и вектор операторов.
На втором этапе
определяются узлы, на которых будут стоять указатели.
На третьем
генерируется программа в соответствии с матрицей, операторами и указателями.
В конце
программы выводится текст, подтверждающий корректное ее завершение, а также
название файла, хранящего текст программы, написанной на языке имитационного
моделирования GPSS.
5 ИСПЫТАНИЕ И ТЕСТИРОВАНИЕ
СИСТЕМЫ
Для испытания и
тестирования системы мы рассмотрели четыре контрольных модели.
С помощью программы,
написанной на MicrosoftVisualStudioC++,
мы получили GPSSтекст и сохранили его в
файлGPSStext.txt.
Запустив
сгенерированную программув GPSSWorld
мы получили отчёт.
Рассмотрим тестовые
четыре модели.
Модель 1(рисунок 5.1)
2
      1
Рисунок 5.1
Система включает в себя
два узла:
1 узел – генератор с
постоянным законом поступления заявок и с заданной задержкой первой заявки
(транзакта).
2 узел – одноканальное
обслуживающее устройство с постоянным законом распределения времени
обслуживания заявок.
Задана обратная связь
на ОУ. Сбор статистики осуществляется перед ОУ.
Работа программы для
данной модели выглядит следующим образом:
Количество
узлов: 2
Введите оператор
1 узла:
1 - генератор;
2 -
одноканальное устройство;
3 -
многоканальное устройство;
4 -
вероятностный узел;
5 - терминатор;
Ваш выбор: 1
На какой узел
идет: 2
Введите оператор
2 узла:
1 - генератор;
2 -
одноканальное устройство;
3 -
многоканальное устройство;
4 -
вероятностный узел;
5 - терминатор;
Ваш выбор: 2
На какой узел
идет: 2
Промежуток
времени между появлениями транзактов:
1 - Постоянный;
2 - Случайный;
3 - Задан
функцией;
4 - Зависит от
функции;
5 - Не задан;
Ваш выбор:1
Время между
появлениями транзактов: 23
Время задержки
появления первого транзакта:
1 - задано;
2 - не задано;
Ваш выбор: 1
Время: 2
Предельное число
таранзактов:
1 - задано;
2 - не задано;
Ваш выбор: 2
Приоритет
транзактов:
1 - задан;
2 - не задан;
Ваш выбор: 2
Узел 2
Время задержки
транзакта:
1 - Постоянное;
2 - Случайное;
3 - Задано
функцией;
4 - Зависит от
функции;
Ваш выбор:1
Время задержки:
24
Сбор статистики:
1 - нахождение в
очереди перед ОУ;
2 - нахождение в
ОУ;
3 - общее время
обработки транзакта (1+2);
4 - не
требуется;
Ваш выбор: 1
Сбор статистики:
1 - нахождение в
очереди перед ОУ;
2 - нахождение в
ОУ;
3 - общее время
обработки транзакта (1+2);
4 - не
требуется;
Ваш выбор: 4
#####################################################
## Работа программы закончена! ##
## Tекст
программы находится в файле GPSStext.txt! ##
#####################################################
Содержимоефайла
“GPSStext.txt”:
GENERATE
23,,2
U_2
QUEUEQ_1
SEIZE
Fas_1
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 |