Почти семь лет назад я набросал на «Хабре» статью про GPSS-World. И к моему удивлению, время от времени я получаю различные вопросы, связанные с ней.
Как же так на дворе уже 2020 год, GPSS World безнадежно устарела, неужели ей кто-то до сих пор пользуется?!
Оказывается, пользуются и еще как.
Достаточно вбить поисковый запрос на «Киберленинке», настроить для удобства фильтры и убедиться, что есть актуальные статьи как минимум за 2019 год.
Сфера образования тоже не отстаёт, в 2019 году выпустили свеженькое учебное пособие пусть и для средне-профессионального уровня образования.
GPSS World у меня совсем не ассоциируется с инновационным подходами к образованию. При виде учебной программы на базе GPSS World мне сразу представляется кошмар, в котором я делаю лабораторную работу по моделированию, сидя в компьютерном классе за ЭВМ с «трубчатым» монитором и шариковой мышкой, а после «лабораторки» бегу в столовую, чтобы накалывать котлету на грязную и гнутую алюминиевую вилку.
Но раз уж GPSS в узких кругах по-прежнему популярна, то почему бы не поддаться приступу ностальгии? В этой статье мы кратко вспомним о том, что из себя представляет бесплатная версия системы имитационного моделирования «GPSS World Student Version», а также познакомимся с некоторыми её близкими родственниками.
Если вы любите анализировать очереди и любоваться на «древние» скриншоты, тогда милости прошу под кат.
Часть I: Введение
Часть II: Различные реализации GPSS
Часть III: запускаем GPSS/PC с помощью эмулятора Dos на смартфоне
Часть IV: Простейшая модель в GPSS World
Я не буду подменять собой Википедию, а только в двух словах напомню, что GPSS – это система моделирования общего назначения, которая зародилась в 60-е годы прошлого столетия, где-то в недрах IBM, однако в наших учебных заведениях наибольшую популярность получила её реализация от компании Minuteman Software, в частности — GPSS World.
Прежде чем перейти к главному герою статьи давайте для начала, бросим беглый взгляд на его «родственников».
Возможно, вы думали, что я начну в хронологическом порядке? Как бы не так!
Я сразу «зайду с козырей».
Наш первый экземпляр — Object GPSS & GPSS-Future Systems.
Если верить информации на сайте, то разработчик делает нам предложение, от которого нельзя отказаться:
Я честно не стал разбираться, как это чудо работает. Однако, разработчик не врал. В демоверсии есть отдельная вкладка, на которой могла бы быть ваша фотография, но вы не заплатили 100$ поэтому там фото разработчика (или то которое он захотел иметь).
Теперь давайте серьезно.
На рисунке № 2 (figure 2) взятом из статьи «GPSS 50 years old, but still young» показан процесс развития GPSS и его ответвлений.
К сожалению, сайт Wolverine Software похоже приказал, долго жить.
Увидеть, как сейчас поживает наследник GPSS их производства у меня не получилось. Но не расстраивайтесь, общее представление об SLX можно составить, пролистав статью «AN INTRODUCTION TO SLX»
Но давайте хотя бы рассмотрим их реализацию GPSS под DOS, а именно GPSS/H.
Программа меня слегка расстроила отсутствием интерактивного режима. При запуске сразу необходимо загрузить файл модели .GPS.
После моделирования (на рисунке ниже слева) программа сохраняет отчет в файл с именем модели и расширением .LIS (на рисунке ниже справа)
Перейдем от левой части вышеуказанной схемы (figure 2) к правой.
Посмотрим на aGPSS — дальнейшее развитие WebGPSS и WinGPSS. Демонстрационную версию, выпущенную в 2015 году, можно скачать с официального сайта.
Правда у меня симуляция так и не запустилась, выдавая следующую ошибку:
Хотя сама система выглядела не так уж и плохо.
Еще стоит упомянуть о GPSS Studio — это отечественная разработка, также как и aGPSS обладающая возможностью графического построения моделей. Данной системе моделирования я планирую в будущем посвятить отдельный обзор, поэтому не будем на ней сейчас концентрироваться.
Поскольку все рассмотренные в статье версии GPSS проприетарные я напоследок упомяну о попытке сделать аналог GPSS с открытым исходным кодом на языке GO. Подробней об этом можно прочесть на «Хабре».
Ну вот и пришло время рассмотреть творения от Minuteman Software.
Начнем мы с GPSS/PC. Это старая версия программы для DOS.
При моем первом знакомстве с ней программа запустилась, задумалась, издала звук с помощью «Пищалки» (PC speaker) и на секунду мне показалось, что сейчас появиться логотип Sierra и я как в детстве «залипну» в любимые Space Qurst и Leisure Suit larry.
Но наваждение быстро прошло. После стартовой заставки нас будет ожидать лишь интерактивная консоль.
В данную консоль можно сразу вводить команды не создавая файл.
Но я предлагаю, ввести команду несколько необычным образом.
В нашем случае простота GPSS/PC имеет один большой плюс.
Она легко запускается на любом эмуляторе MS-DOS. Так почему бы нам не проверить её работоспособность на смартфоне (в моем случае на платформе Android)?
Устанавливаем эмулятор. Я установил aFreeBox (Free DOSbox), но вы можете выбрать любой другой.
В моем случае корневой папкой эмулятора стала папка загрузок в корне файловой системы смартфона. В эту папку я и перенес файлы с GPSS/PC.
Запускаем программу (не забудьте для антуража включить симуляцию PC-Speaker).
Теперь можно вводить команды.
Вначале необходимо ввести номер строки, нажать пробел, если нет метки для команды, то нажать еще раз пробел и ввести название команды.
Кстати можно воспользоваться автоматическим дополнением кода — набрать несколько букв предполагаемой команды и нажать пробел. Компьютер допечатает наиболее подходящую команду.
После ввода команды остается ввести ее параметры и нажать Enter.
Примерная иллюстрация процесса представлена ниже:
Запустим симуляцию командой
Выйдем из симуляции командой
Осталось только просмотреть отчёт, для этого необходимо запустить отдельную программу GPSSREPT.EXE.
Ну а теперь сам GPSS-world.
Лично я своё знакомство с GPSS World начал с учебника «Комплексная механизация строительства» Кудрявцева Е.М., от одного воспоминания о котором, меня до сих пор настигает уныние.
Но в сети есть и другие учебные материалы, в том числе официальный туториал и вариации его перевода.
Прежде чем перейти к моделированию, нам необходимо скачать бесплатную студенческую версию программы. Правда вы могли бы купить персональную лицензию, за 600 с лишним долларов. Но зачем выкидывать такие деньжищи, если в программе даже не будет вашей фотографии (как в случае с Object GPSS)? Оно явно того не стоит.
Прежде чем мы попробуем запустить какую-нибудь модель. Просто посмотрите на это:
Да, да, в GPSS World есть свой собственный интернет браузер. Правда, к сожалению, верстка Хабра в нем плывет, но это и не удивительно в 2020 году.
Зато сайт Minuteman Software открывается идеально. Ну, а как же иначе ведь он сверстан с применением таких передовых технологий как Microsoft FrontPage. Кто-нибудь еще помнит это чудо?
Давайте перейдем непосредственно к моделированию.
Важно помнить, что при использовании GPSS ключевым компонентом является ваше воображение.
Например, эта простейшая модель:
Благодаря вашей фантазии может стать: моделью прохода через турникет, моделью парикмахерской с одним мастером и даже моделью комплекта машин самосвал-экскаватор.
Мы с вами оправдаем заглавную картинку статьи и представим, что вышеуказанный код моделирует очередь в ларек.
Единицы времени будем интерпретировать как минуты.
На всякий случай напомню вам значения блоков:
Пришло время начать симуляцию.
Выбираем команду
Введем значение 100. В данном случае это значит, что как только мы «отоварим» 100 покупателей наша симуляция завершится.
По завершении симуляции появится окно с отчетом.
Как видим среднее время пребывания одного человека в очереди составило 57 с лишним минут, очередь в среднем состоит из 14 человек, а обслуживание 100 покупателей заняло почти 9 часов (517 минут)
На этом мне бы хотелось закончить.
P.S. Если тематика моделирования в среде GPSS-World будет вам интересна, то я набросаю еще пару статей, в которых мы рассмотрим более сложные и интересные задачи.
Как же так на дворе уже 2020 год, GPSS World безнадежно устарела, неужели ей кто-то до сих пор пользуется?!
Оказывается, пользуются и еще как.
Достаточно вбить поисковый запрос на «Киберленинке», настроить для удобства фильтры и убедиться, что есть актуальные статьи как минимум за 2019 год.
Сфера образования тоже не отстаёт, в 2019 году выпустили свеженькое учебное пособие пусть и для средне-профессионального уровня образования.
GPSS World у меня совсем не ассоциируется с инновационным подходами к образованию. При виде учебной программы на базе GPSS World мне сразу представляется кошмар, в котором я делаю лабораторную работу по моделированию, сидя в компьютерном классе за ЭВМ с «трубчатым» монитором и шариковой мышкой, а после «лабораторки» бегу в столовую, чтобы накалывать котлету на грязную и гнутую алюминиевую вилку.
Но раз уж GPSS в узких кругах по-прежнему популярна, то почему бы не поддаться приступу ностальгии? В этой статье мы кратко вспомним о том, что из себя представляет бесплатная версия системы имитационного моделирования «GPSS World Student Version», а также познакомимся с некоторыми её близкими родственниками.
Если вы любите анализировать очереди и любоваться на «древние» скриншоты, тогда милости прошу под кат.
Часть I: Введение
Часть I: Введение
Часть II: Различные реализации GPSS
Часть III: запускаем GPSS/PC с помощью эмулятора Dos на смартфоне
Часть IV: Простейшая модель в GPSS World
Я не буду подменять собой Википедию, а только в двух словах напомню, что GPSS – это система моделирования общего назначения, которая зародилась в 60-е годы прошлого столетия, где-то в недрах IBM, однако в наших учебных заведениях наибольшую популярность получила её реализация от компании Minuteman Software, в частности — GPSS World.
Часть II: Различные реализации GPSS
Прежде чем перейти к главному герою статьи давайте для начала, бросим беглый взгляд на его «родственников».
Возможно, вы думали, что я начну в хронологическом порядке? Как бы не так!
Я сразу «зайду с козырей».
Наш первый экземпляр — Object GPSS & GPSS-Future Systems.
Если верить информации на сайте, то разработчик делает нам предложение, от которого нельзя отказаться:
Вы можете купить за $100 личную версию системы, которая обрабатывает модели с неограниченным числом блоков. В ней, по вашему желанию, будет ваше фото, или фото, которое вы захотите иметь, а также сведения, что это ваша личная версия. Вам гарантируются консультации по системе в течение 2 лет.
Я честно не стал разбираться, как это чудо работает. Однако, разработчик не врал. В демоверсии есть отдельная вкладка, на которой могла бы быть ваша фотография, но вы не заплатили 100$ поэтому там фото разработчика (или то которое он захотел иметь).
Теперь давайте серьезно.
На рисунке № 2 (figure 2) взятом из статьи «GPSS 50 years old, but still young» показан процесс развития GPSS и его ответвлений.
К сожалению, сайт Wolverine Software похоже приказал, долго жить.
Увидеть, как сейчас поживает наследник GPSS их производства у меня не получилось. Но не расстраивайтесь, общее представление об SLX можно составить, пролистав статью «AN INTRODUCTION TO SLX»
Но давайте хотя бы рассмотрим их реализацию GPSS под DOS, а именно GPSS/H.
Программа меня слегка расстроила отсутствием интерактивного режима. При запуске сразу необходимо загрузить файл модели .GPS.
После моделирования (на рисунке ниже слева) программа сохраняет отчет в файл с именем модели и расширением .LIS (на рисунке ниже справа)
Перейдем от левой части вышеуказанной схемы (figure 2) к правой.
Посмотрим на aGPSS — дальнейшее развитие WebGPSS и WinGPSS. Демонстрационную версию, выпущенную в 2015 году, можно скачать с официального сайта.
Правда у меня симуляция так и не запустилась, выдавая следующую ошибку:
Хотя сама система выглядела не так уж и плохо.
Еще стоит упомянуть о GPSS Studio — это отечественная разработка, также как и aGPSS обладающая возможностью графического построения моделей. Данной системе моделирования я планирую в будущем посвятить отдельный обзор, поэтому не будем на ней сейчас концентрироваться.
Поскольку все рассмотренные в статье версии GPSS проприетарные я напоследок упомяну о попытке сделать аналог GPSS с открытым исходным кодом на языке GO. Подробней об этом можно прочесть на «Хабре».
Часть III: запускаем GPSS/PC с помощью эмулятора DOS на смартфоне
Ну вот и пришло время рассмотреть творения от Minuteman Software.
Начнем мы с GPSS/PC. Это старая версия программы для DOS.
При моем первом знакомстве с ней программа запустилась, задумалась, издала звук с помощью «Пищалки» (PC speaker) и на секунду мне показалось, что сейчас появиться логотип Sierra и я как в детстве «залипну» в любимые Space Qurst и Leisure Suit larry.
Но наваждение быстро прошло. После стартовой заставки нас будет ожидать лишь интерактивная консоль.
В данную консоль можно сразу вводить команды не создавая файл.
Но я предлагаю, ввести команду несколько необычным образом.
В нашем случае простота GPSS/PC имеет один большой плюс.
Она легко запускается на любом эмуляторе MS-DOS. Так почему бы нам не проверить её работоспособность на смартфоне (в моем случае на платформе Android)?
Устанавливаем эмулятор. Я установил aFreeBox (Free DOSbox), но вы можете выбрать любой другой.
В моем случае корневой папкой эмулятора стала папка загрузок в корне файловой системы смартфона. В эту папку я и перенес файлы с GPSS/PC.
Запускаем программу (не забудьте для антуража включить симуляцию PC-Speaker).
Теперь можно вводить команды.
Вначале необходимо ввести номер строки, нажать пробел, если нет метки для команды, то нажать еще раз пробел и ввести название команды.
Кстати можно воспользоваться автоматическим дополнением кода — набрать несколько букв предполагаемой команды и нажать пробел. Компьютер допечатает наиболее подходящую команду.
После ввода команды остается ввести ее параметры и нажать Enter.
Примерная иллюстрация процесса представлена ниже:
Запустим симуляцию командой
START 10
.Выйдем из симуляции командой
END
.Осталось только просмотреть отчёт, для этого необходимо запустить отдельную программу GPSSREPT.EXE.
Часть IV: Простейшая модель в GPSS World
Ну а теперь сам GPSS-world.
Лично я своё знакомство с GPSS World начал с учебника «Комплексная механизация строительства» Кудрявцева Е.М., от одного воспоминания о котором, меня до сих пор настигает уныние.
Но в сети есть и другие учебные материалы, в том числе официальный туториал и вариации его перевода.
Прежде чем перейти к моделированию, нам необходимо скачать бесплатную студенческую версию программы. Правда вы могли бы купить персональную лицензию, за 600 с лишним долларов. Но зачем выкидывать такие деньжищи, если в программе даже не будет вашей фотографии (как в случае с Object GPSS)? Оно явно того не стоит.
Прежде чем мы попробуем запустить какую-нибудь модель. Просто посмотрите на это:
Да, да, в GPSS World есть свой собственный интернет браузер. Правда, к сожалению, верстка Хабра в нем плывет, но это и не удивительно в 2020 году.
Зато сайт Minuteman Software открывается идеально. Ну, а как же иначе ведь он сверстан с применением таких передовых технологий как Microsoft FrontPage. Кто-нибудь еще помнит это чудо?
Давайте перейдем непосредственно к моделированию.
Важно помнить, что при использовании GPSS ключевым компонентом является ваше воображение.
Например, эта простейшая модель:
GENERATE 4,1 ;Create next customer.
QUEUE Larek ;Begin queue time.
SEIZE Larek ;Own or wait for trader.
DEPART Larek ;End queue time.
ADVANCE 5,2 ;Shopping takes a few minutes.
RELEASE Larek ;Shopping done. Give up the trader.
TERMINATE 1 ;Customer leaves.
Благодаря вашей фантазии может стать: моделью прохода через турникет, моделью парикмахерской с одним мастером и даже моделью комплекта машин самосвал-экскаватор.
Мы с вами оправдаем заглавную картинку статьи и представим, что вышеуказанный код моделирует очередь в ларек.
Единицы времени будем интерпретировать как минуты.
На всякий случай напомню вам значения блоков:
GENERATE 4,1
– создает объект в системе. В нашем случае это человек идущий к ларьку чтобы встать в очередь. Люди приходят к ларьку один раз в 4 минуты с отклонением в диапазоне от -1 до +1 минуты;QUEUE
– человек встал в очередь в ларек;SEIZE
– человек подошел к окошку ларька;DEPART
– человек сунул голову в окошко ларька, а значит из очереди его уже необходимо вычеркнуть;ADVANCE 5,2
– время на выбор товара составляет 5 ± 2 минутыRELEASE
– человек освободил продавщицу (продавца); TERMINATE 1
– человек покинул очередь и бежит домой с дефицитным товаром.Пришло время начать симуляцию.
Выбираем команду
START
Введем значение 100. В данном случае это значит, что как только мы «отоварим» 100 покупателей наша симуляция завершится.
По завершении симуляции появится окно с отчетом.
Как видим среднее время пребывания одного человека в очереди составило 57 с лишним минут, очередь в среднем состоит из 14 человек, а обслуживание 100 покупателей заняло почти 9 часов (517 минут)
На этом мне бы хотелось закончить.
P.S. Если тематика моделирования в среде GPSS-World будет вам интересна, то я набросаю еще пару статей, в которых мы рассмотрим более сложные и интересные задачи.
GRaAL
Пытаюсь вспомнить: а не GPSS world ли мы использовали в ИТМО для расчетов систем массового обслуживания. Аббревиатура знакомая, команды знакомо выглядят, но точно вспомнить не могу :(
BosonBeard Автор
Вполне возможно, мы у себя использовали как раз для таких задач.
lokkersp
очень вероятно что да, у нас оно тоже попадалось как раз в темах по расчетам систем массового обслуживания
igormu
Система Симуляции Генерала Пурпоса
Amet13
sukhe
У нас преподаватель был весёлый. Мы на лабораторных работах что только не моделировали. Из запомнившегося — расчёт количества копальщиков могил :) Сколько их надо на город, если задано количество населения, средняя продолжительность жизни, скорость выкапывания одной могилы, количество рабочих часов в месяц.
sukhe
Ого. Я её после института ни разу нигде не видел. Складывается такое впечатление, что она в живой природе вообще не встречается. Только в ВУЗах.
korobkov-k
ВУЗы вообще любят некромантию и штуки о которых мало где написано, особенно чтобы было доступным языком. В такие моменты очень ценна информация от старого преподавателя, вот только после сдачи предмета не очень понятно зачем оно вообще надо. Из ярких примеров — язык PROLOG на последних курсах, которые у меня были годах в 2013-2015. Внезапно на мозг обрушивается какая-то странная жесть, дают по ней лабы, которые надо как-то сделать. Доступной информации мало, зачем это надо непонятно, что в край убивает мотивацию это учить. Да и те кто в этой теме разбирается в большенстве говорят что язык мертв и не годится для продакшена в любом виде. Но небось до сих пор студентам преподают эту реликвию. А потом они идут на рынок труда и занимаются совсем другими вещами. Да и если в универе останутся за наукой следить — то тоже вряд ли эта мертвичина им пригодится.
BosonBeard Автор
Я помню нам преподавали Фортран в 2011 году. Мне это так "сильно пригодилось", до сих пор не знаю куда слова благодарности деть)
Eldhenn
Пролог — не худший экзотический язык, который можно изучать в вузе.
Maximuzzz
А мне довелось поработать с IBM Tivoli Enterprise Console лет 8 назад. Там вся логика обработки событий на прологе строится. Хорошо, что использовались плюс-минус типовые конструкции от случая к случаю и довольно много предикатов «из коробки» предоставлялось.
ZekaVasch
Я это преподавал, кажется…
paukrus
Ну, не знаю. Уйма банков до сих пор на Коболе… Чему уж ЖПСС удивляться? В 90-е я в институте Турбо-Паскаль изучал, писал игру Жизнь и хотел Тетрис создать. Уже тогда безнадёжно устарел Турбо. Но ничего, жив. Пару лет назад и его ещё изучали.