GPSS World — язык и общецелевая система имитационного моделирования, предназначенная для программирования имитационных моделей. Есть бесплатная студенческая версия системы GPSS World, которую можно скачать с сайта фирмы Minuteman Software. Студенческая версия абсолютно полнофункциональна.
Единственное ограничение — число блоков в программе, но этого вполне достаточно для моделирования любой не коммерческой задачи. Студенческая версия системы GPSS World так же эффективна, как и комерческая и выполняется в тысячу раз быстрее, чем работала оригинальная версия GPSS/PC в 1984 rоду. Система GPSSW имеет иерархическую систему меню.
Самая простая система массовго обслуживания (СМО) имеет структуру, приведенную на рисунке внизу.
Приведем пример простейшей программы. Эта программа моделирует работу СМО, показанной на схеме.
GENERATE 7,2 ; генерирование требований с интервалом [5-9] ед.врем. QUEUE 1 ; увеличение очереди на одно требование SEIZE КAN ; Проверка занятости канала KAN DEPART 1 ; Уменьшение очереди на одно требование ADVANCE 6,3 ; Обслуживание требование в канале в течении [3-9] ед.врем. RELEASE КAN ; Освобождение канала KAN TERMINATE 1 ; Выход требования из системы START 200 ; Начало моделирования с числом требований 200
Приведем пример окна с текстом программы.
gpss 01 simple
Запуск программы на выполнение — начало моделирования.
В результате, если текст программы не будет содержать ошибок, будет сгенерирован отчет о результатах моделирования. Обратите внимание, основне ошибки могут возникнуть, если кодировка совпадающих по начертанию символов разная. Совет: не копируйте текст программы, а набирайте его прямо в окне редактора GPSS.
На отчете (Report) приведены расшифровки основных обозначений. Все рисунки кликабельны — появляется увеличенная версия.
Вы можете скачать здесь самую последню студенческую бесплатную версию GPSS World по ссылке внизу.
Источник: studlab.com
Запуск первый программы на GPSS World — Урок 1
GPSS World student version можно скачать бесплатно с официального сайта minutemansoftware.
Запускаем программу, переходим на вкладку File -> New
Далее выбираем Model, жмём Ок
Пишем самую простенькую программу
GENERATE 1 ; Время генерирования одной транзакции
TERMINATE 1 ; Удаляем одну транзакцию
START 10 ; время моделирования 10 ед. времени (минут)
Чтобы запустить программу, переходим на вкладку Command -> Create Simulation
Язык моделирования GPSS основные понятия и объекты. Имитационное моделирование лекция 2
В итоги должно появится два окна — журнал ошибок и листинг отчёта.
Журнал ошибок (ошибок нет)
02/01/19 14:56:13 Model Translation Begun.
02/01/19 14:56:13 Ready.
02/01/19 14:56:13 Simulation in Progress.
02/01/19 14:56:13 The Simulation has ended. Clock is 10.000000.
02/01/19 14:56:14 Reporting in Untitled Model 1.6.1 — REPORT Window.
Листинг отчёта — Report
2653
Источник: www.matematicus.ru
Основные команды интерпретатора GPSS/PC
DISPLAY[],[< строка N 2>] — вывести на экран текст модели, начиная со строки N1 , до строки N 2.
DELETE [],[] — удалить из программы текст, начиная со строки N1 , до строки N 2.
EDIT — отредактировать строку текста
CLEAR- сбросить всю статистику модели в ноль (включая таймеры абсолютного и относительного модельного времени), возвратить все транзакты в пассивный буфер .
END- завершить работу интерпретатора.
Практическая часть
2.1. Постановка задачи:
На решение в процессор поступает поток программ. Интервалы времени в потоке распределены по экспоненциальному закону со средним временем, распределенным равномерно от 20 до 40единиц времени. Время решения программ распределено по равномерному закону в диапазоне от 15 до 55 единиц времени. При поступлении на процессор время обработки программы неизвестно (оно становится известно только после окончания ее обработки). Представить модель обработки программ, когда в первую очередь обрабатываются программы с меньшим временем решения.
1. Написать модель на языке GPSS/PC-2.
2. Доказать, что заявленный в задании алгоритм обработки программ действует правильно (на примере обработки пакета программ).
3. С помощью модели определить основные характеристики времени реакции.
Алгоритм работы программы
ДаНет
Текст программы на GPSS
10 XPDIS FUNCTION RN1,C20 ;Рандомно выбирается задержка между
12 LONG FUNCTION RN1,D40 ;Рандомно выбирается время решения программ
16 GENERATE 1,FN$XPDIS ; Генерация программ по экспоненциальному
закону из интервала (20,40)
18 ASSIGN time,FN$LONG ; Задать текущей программе время решения.
20 que QUEUE spisok ; Входящий транзакт увеличивает очередь на
28 met SEIZE ustr ; Выполнение программы началось
30 TEST L p$time,5,adv ; Если параметр time меньше 5, то иди ниже,
иначе иди в adv
34 ADVANCE p$time ; Задержка
38 ASSIGN time-,p$time ; Параметр time уменьшить на p$time
40 TRANSFER ,rel ; Перейти программе в rel
44 adv ADVANCE 5 ; Задержка
48 ASSIGN time-,5 ; Параметр time уменьшить на 5
50 rel RELEASE ustr ; Выполнение программы закончилось
54 DEPART spisok ; Уменьшить длину очереди на единицу
56 TEST E p$time,0,que ; Если time равно 0, то иди ниже, иначе
иди по метке que
66 term TERMINATE 1 ; Завершили программу.
Выходные данные
GPSS World Simulation Report — test6.45.1
Tuesday, December 18, 2012 13:43:48
START TIME END TIME BLOCKS FACILITIES STORAGES
Источник: megaobuchalka.ru