GPSS (англ. General Purpose Simulation System — система моделирования общего назначения) — язык моделирования, используемый для имитационного моделирования различных систем, в основном систем массового обслуживания.
Система GPSS была разработана сотрудником фирмы IBM Джеффри Гордоном в 1961 году. Гордоном были созданы 5 первых версий языка: GPSS (1961), GPSS II (1963), GPSS III (1965), GPSS/360 (1967) и GPSS V (1971). Известный ранее только специалистам, в нашей стране этот программный пакет завоевал популярность после издания в СССР в 1980 году монографии Т Дж. Шрайбера. В ней была рассмотрена одна из ранних версий языка — GPSS/360, а также основные особенности более мощной версии — GPSS V, поддерживаемой компанией IBM, у нас она была более известна как пакет моделирования дискретных систем (ПМДС). Этот пакет работал в среде подсистемы диалоговой обработки системы виртуальных машин единой серии (ПДО СВМ ЕС) ЭВМ. После окончания поддержки GPSS V компанией IBM следующей версией стала система GPSS/H компании Wolverine Software разработанная в 1978 году под руководством Дж. Хенриксена. В 1984 году появилась первая версия GPSS для персональных компьютеров с операционной системой DOS — GPSS/PC. Она была разработана компанией Minuteman Software под руководством С. Кокса. Конец XX века ознаменовался разработкой компанией Minuteman Software программного продукта GPSS World, увидевшей свет в 1993 году. За сравнительно небольшой период времени было выпущено несколько его версий, причем в каждой последующей возможности системы моделирования наращивались. Помимо этих основных версий существует также Micro-GPSS, разработанная Ингольфом Сталлом в Швеции, — это упрощенная версия, предназначенная для изучения языка GPSS, и WebGPSS, также предназначенная для изучения работы системы и разработки простейших имитационных моделей в сети интернет.
Основные версии:
Система GPSS изучается во многих учебных заведениях в России и за рубежом[источник не указан 4627 дней]. Широко используется для решения практических задач. Динамическим элементом модели является транзакт — абстрактный объект, который перемещается между статическими элементами, воспроизводя различные события реального моделируемого объекта. В процессе работы модели накапливается статистика, автоматически выводимая по завершении процесса моделирования. Статические элементы модели: источники транзактов, устройства, очереди и другие. Их расположение в модели определяется блоками.
GENERATE (POISSON(1,40)) ; генерация потока транзактов ; Поток транзактов пуассоновский со средним интервалом 40 единиц QUEUE mainQ ; Войти в регистратор очереди SEIZE F007 ; Попытка занять устройство DEPART mainQ ; Покинуть регистратор очереди ADVANCE (Normal(1,35,4)) ; Моделирование процесса обслуживания. Время обслуживания ; распределено по нормальному (гауссову) закону ; с математическим ожиданием 35 и среднеквадратическим отклонением 4 RELEASE F007 ; Освободить устройство TERMINATE ; удаление транзакта
В программе на языке GPSS достаточно сложно представить непосредственно процессы обработки данных на уровне алгоритмов. Кроме того, модель представляет собой программу, а значит не имеет графической интерпретации, что затрудняет процесс разработки модели и снижает наглядность модели в целом.