Портал GPSS.RU

ИнгольфСталл

 

 GPSS – 40 ЛЕТ РАЗВИТИЯ

 

 

 

АННОТАЦИЯ

 

Этот год – год 40летия GPSS. Данная статья – отчет поразвитию GPSS в течение этих 40  лет. Всеначалось с первой версии GPSS,разработанной Гордоном из IBM в 1961г.и последующим его  развитием - GPSS II , GPSS III, GPSS/360и GPSS V, также продуктов IBM. Один изосновных разделов посвящен GPSS /Н, который доминировал на сцене GPSS в течениепоследних лет. В другом разделе рассматриваются версии GPSS из семейства GPSSR. Следующий раздел посвящен GPSS РС и GPSS World. Также имеется много GPSS систем, проектов и идей,имеющих в основном академическую природу. Выпущено большое количество книг поGPSS. В последнем разделе обсуждаются причины популярности GPSS.

 

1.   ВВЕДЕНИЕ

 

Этот год – год 40-летия GPSS. В1961 году IBMреализовала первую версию GPSS, разработанную Дж. Гордоном. Отметим, что 40 летспустя интенсивное развитие GPSS еще продолжается, и новые версии GPSS недавнобыли разработаны, подобно GPSS World  для Windous и Web GPSS для сети Интернет. Я попытаюсь выделить некоторыенаиболее выдающиеся функции различных систем, разработанных в течение этих 40лет. Так как имеется огромное количество различий, я взял такое характерное средство измерения  сложности различных систем, как использованиеими типов блоков, в частности общее число таких типов.

 

2.   ПЕРВЫЕ ВЕРСИИ GPSS

 

Перваяистория GPSS была рассказана самим Гордоном в широко известной статьеопубликованной в обозрении АСМ SIGPLAN (Gordon1978). В ней считается, что развитие GPSS началось до 1961 года. Из данногоисточника мы можем понять, что ранние идеи, результатом которых стал GPSS,пришли к Гордону  в середине 50-х, когдаГордон работал в лаборатории Bell Telephone.

            Ужев его ранних работах была сделаны простейшие имитационные модели системыпереключения сообщений, в которых он использовал единичное и множественноеобслуживание как базовые элементы, предшественники устройств и памятей. В 1959г. он работал на симуляторе, базирующемся на последовательности диаграмм дляизучения систем переключения. Приведенный в статье симулятор (Dietmeyer идругие 1960) описывает системы в более общих терминах,включая людей в супермаркете.

В июне1960 Гордон пришел в IBM. Он был подключен к изучению проблемы поисканаилучшего времени отклика в терминальных системах. Потенциально значениемоделирования было признано в департаменте в связи с этими исследованиями иГордон начал работы по созданию симулятора, основанного на блоках, отчасти базирующийсяна  его экспериментах  с упомянутым симулятором последовательностидиаграмм. Первоначально он был только программистом. Первым его крупнымдостижением было то, что за очень короткое время он сумел сделать имитационнуюмодель дисковой системы со случайным доступом. В октябре 1960 г. было выпущеноруководство по симулятору для внутреннего использования в IBM. Система пока еще не имела своего названия, но в IBMее назвали симулятором Гордона. Некоторые недоработки в средстве ручного  моделирования событий были обнаружены приэксплуатации, и Гордон переделал алгоритм моделирования. О некоторых событиях,имевших место 40 лет назад, я расскажу, непосредственно процитировав Гордона(1978, стр. 186-187): «В начале 1961г. полноеперепрограммирование,  начатое всоответствии с новым алгоритмом, было начато… Я был прикреплен к двумпрограммистам миссис Р. Барбьери и Р. Эфрону и программирование продолжалось долета 1961г……Гриф секретности с программы был снят в начале 1961г. так, чтокопии существующих программ могли быть переданы людям не работающим в  IBM. Понятно, что это не поддерживалось IBM. (Это былперечень программ IBM типа III, которые могли быть переданы без праваисправления ошибок).

Через несколько месяцев была отлажена программа иразработана соответствующая документация. Когда это былосделано, был выпущен пресс-релиз 27 октября 1961, объявляющий  программу как II тип IBM программ (что означало с возможностью коррекции ошибок). 6октября 1961 года было выпущено руководство пользователя, и программа моглаиспользоваться в системах IBM704, 709 и 7090… (Gordon 1961) … Опрометчиво эта реализация была названаОбщецелевой симулятор или GPS. Вскоре после реализации этот акронум былиспользован профессорами Невелом и Симоном для разработанных им программ -  Главный Решатель Проблем… Поэтомуя быстро изменил название на общецелевой симулятор систем, или GPSS.

В статьеописывается программа, которая была представлена на «Совместной восточнойконференции компьютерных систем» (Gordon 1961b). В статье Гордона описывалисьнекоторые подробности, но более доступно это описано в публикации в «Системномжурнале IBM» в 1962г.(Gordon 1962). Из этих трех наиболее известных источников мы смогли узнатьследующие детали о первой версии GPSS.

Было собрано вместе 25 типов блоков:ORIGINATE, GENERATE, CALL, ADVANCE, BRANCH, SEIZE, RELEASE, HOLD, INTRRUPT,PREEMPT,                 RETURN,  ENTER, LEAVE, STORE, QUEUE, SPLIT, MATCH,ASSIGN, MARK, TABULATE, TAG, TRANSFER, GATE, WRITE, TERMINATE   

(Смотри также приложение). Несколькоиз выше приведенных блоков были выведены в последующих GPSS версиях. Радидальнейшего обсуждения, мы рассмотрим некоторые из различий в блоках  создания транзактов – ORIGINATE и GENERATE .      

 

Созданиетранзактов из блока ORIGINATEпродолжалось, даже если транзакт не мог войти в следующий блок, в отличие отэтого блок GENERATE создавал транзакты только тогда, когда транзакты могливойти в следующий блок. Интересно отметить, что дальнейшие IBM версии   такие известные как GPSS /H имели блок GENERATEподобный начальному блоку ORIGINATE, вотличие от     других GPSS систем, такихкак GPSS/ PC  и Micro- GPSS,имеющих блок GENERATE подобный по поведению оригинальному блоку GENERATE.

Уже впервой версии GPSS было два типа обслуживающих аппарата, «Устройства»,обслуживающие один транзакт в данный момент времени и «Памяти» (STORE) (переименованный в следующих версиях на STORAGE), который   мог  обслуживать несколько транзактов одновременно. Устройства моглибыть     заняты       и освобождены  блоками SEIZE  и RELEASE   и памяти - соответственно блоками   ENTER и  LEAVE . Определение времени обслуживания     на этих стадиях, однако отличались  в первой версии по сравнению с последующимиверсиями.     Было три различных блокадля задержки. Блок ADVANCEиспользовался только для представления времени задержки транзактов, не занятых в обслуживании. Затем блок HOLD использовался для моделирования задержки на устройствах иблок STORE - для моделированияиспользования памяти  (части ее)транзактом.

            Следующие средства, которыерассмотрим, вероятно, наиболее различны в сравнении во всех  существующих версиях GPSS.            

    

Затронемследующие средства, которые наиболее вероятно отличаются во всех представленныхверсиях GPSS. Все типыблоков, которые могут быть точкой завершения, имеют два выхода 1 и 2. Ониопределяются номером блока, для указания выхода. В случае если был единственныйвыход, только один номер передавался блоку, как выход 1.   Если имеются два выхода, то оба выходадолжны иметь фактор отбора для определения перехода к одному или другомувыходу, подобно вероятности перехода к выходу 1. Кодирование операндов былоосновано на фиксированном формате, где для примера выход 1 задан в специальнойколонке и фактор выбора в другой специальной колонке. В основном многиеограничения были установлены в первой версии GPSS, подобно одному потоку случайных чисел, одному параметру ичисловому представлению обслуживающих аппаратов. Не было стандартных числовыхатрибутов, и блок GATE в первойверсии мог ссылаться только к номеру обслуживающего аппарата. Наконец можносказать, что емкость памяти  определяласьоператором, называемым CAPACITY, чтополностью соответствует одной из новейших версий GPSS - WebGPSS.

            Следующаяверсия GPSS II не внеслазначительных изменений в исходную версию (IBM 1963) и (Efron и Gordon 1964).Общее число блоков увеличилось с 25 до 33. Двенадцать новых блоков было добавлено - ASSEMBLE, BUFFER, COMPARE, HELP, INDEX, LOGIC,LOOP, PRINT, PRIORITY, SAVEX, TRACE и UNTRACE. Еще четыре блока были убраны - BRANCH, CALL, TAG и TRANSFER.Появился новый оператор арифметических вычислений - VARIABLE. Так же другиесредства усилили мощь GPSS. Числопараметров увеличилось до 8. Параметры могли быть использованы также длякосвенной адресации. Пользователь мог вызывать в модели подпрограммы,написанные им на языке Ассемблер. Так же была введена простейшая формамакросов. Вывод статистики был расширен.

            GPSS III. Хотячисло блоков увеличилось только на три до 36, но GPSS III гораздоближе к GPSS World 2000, чем GPSS III к GPSSII (Herscovitch и Schneider1965). Основные изменения заключались вследующем. Блоки GENERATE и ORIGINATE были объединены в один блок GENERATE, который  работал так же как исходный блок ORIGINATE(смотри выше). Блоки HOLD и STORE былиустранены, что позволило блоку ADVANCE стать посвойствам более общим, чем ранее. Системы с двумявыходами по фактору выбора были устранены. Взамен выбор следующего блокаопределялся блоком TRANSFER, которыйбыл восстановлен. Фиксированный формат для каждого операнда блока, определяемыйспециальными колонками, был изменен на формат, где все операнды вставали в однунепрерывную строку. Более того, был добавлен блок DEPART для работы с блоком QUEUE. Две ранние версии GPSS имели только блок QUEUE измерявший очередь, например, передблоками SIZE и ENTER. Но данный блок, однако, не подходил для измеренияочередей перед другими блоками, такими как перед парными блоками GATE, но такие очереди тоже нужно было измерять. С новойпарой блоков QUEUE и DEPART такие измерения стали возможны. Блоки LINK и UNLINKбыли добавлены для создания списков пользователей и позволяли обеспечить вопределенных случаях более  эффективноевыполнение. Блок SAVEVALUE заменил блок SAVEX. Блок TEST заменил блок COMPARE. Другое улучшение было в большемчисле параметров, более общем блоке PRINTразрешавшем выводить на печать любые СЧА, не только ячейки (затем названныеsavexes), в отличии от первых двух версий. Блок SPLIT мог создавать более чем одну копию.

            Всвязи с реализацией GPSS III , было изменено значениесимволов входящих в акронум GPSS назначение -  общецелевая системамоделирования, вместо - общецелевого имитатора систем. С приходом GPSS III, GPSS сталболее языком моделирования, чем системным имитатором. После GPSS III пришел язык GPSS/360,  который основывался на множестве, безусловно,вытекающих из развития языка расширениях. Например, введение новых 8 форм типовблоков, которых стало в GPSS - 44. Из8 новых блоков пять было связано с новыми типами объектов - группы: ALTER, EXAMINE,JOIN, REMOVE и SCAN. Другие три новых типа блоков это COUNT, MSAVEVALUE и SELECT. Другим расширением, введенным в GPSS/360 былипараметры и ячейки различной длины, так как под число можно было использоватьразное количество бит (16 и 32). Раньше был только один тип параметра (16) иодин тип ячеек(32). Пара блоков QUEUE и DEPART позволяла так же как иранее использоваться для измерения расходования времени в блоках ADVANCE., предполагалось так же, что этапара блоков должна измерять время израсходованное транзактом между двумя любымиблоками. Было решено, что блок QUEUE долженназываться  ARRIVE. В данной версии было введено 8 датчиков случайных чисел.Концепция переменных была расширена круглыми скобками и булевскими переменными.Важным изменением явилось то, что сейчас любые объекты не только блоки могутиметь символьные имена, в дополнении к их номерам. Блок PREEMPT был расширен, например, позволялвыбирать желаемый приоритет. Возможности макро были значительно расширены.Наконец редактор вывода разрешал использовать специальный формат вывода.

            GPSS/360 в 1971 году был успешно заменен на GPSS V. Четыре новых вида блоковбыли введены для расширения возможностей устройств и памятей – FAVALE и FUNAVALE, SAVALE и SUNAVALE.Так общеечисло блоков достигло 48. Возможность размещения части модели во внешней памятибыла введена.  Параметры и ячейки моглисейчас браться в четырех различных формах. В дополнении к ранним редакциям былдобавлен формат с плавающей точкой. В то же время некоторые другие версии быливыпущены другими производителями помимо IBM: CDC, Honeywell,  Norden,  RCA , UNIAC и XEROX (Gordon1978). Версия Norden – 360была разработана группой под руководством Дж. Рейтмана и была инновационной втерминах использования памяти, интерактивного вывода и использованияграфического дисплеев как терминалов вывода результатов имитационногомоделирования (Nance 1996). В Германии фирмы Сименс и Телефункен имели своиверсии GPSS.

 

3. GPSS/H

 

GPSS версии упомянутые выше были разработаны дляиспользования на мэйнфреймах и все они за исключением версии Norden    создавалиськрупными компьютерными фирмами. В конце 70-х и в начале 80-х была начата политика развития миникомпьютеров и моментальноначалось развитие независимых программных компаний. Также все происходилои с GPSS. Наиболее значимой GPSS версией разработанной независимой программной фирмойстал GPSS/H.

Данное программное обеспечениесреди всех версий GPSS безсомнения получило наибольшее использование в последующую декаду. Напротив как то незаметно данная реализация стала рассматриватьсяболее детально по сравнению с другими версиями GPSS.

            ИсторияGPSS/H началась с того, как Дж. Хенриксон начал читать курс лекцийпо GPSS в Мичиганскомуниверситете, которые ранее читал Т.Шрайбер. В это время основная критика GPSS (GPSS/360),была не по его использованию, а в маленькой скорости выполнения моделей.Работая с GPSS/360 вуниверситетском вычислительном центре Мичигана, Хенриксону пришли идеи, каксделать выполнения программ на GPSS быстрее.Основным ключом к увеличению скорости выполнения является достижение полнойкомпилируемости программ, исключив режим интерпретации, который присутствовалво всех версиях GPSSразработанных IBM. GPSS/H полностью совместим с верху вниз с GPSS V, номодели написанные на GPSS/H, выполняются, как упомянуто выше значительнобыстрее. Хенриксон в 1976 году образовал фирму Wolverine Software,приблизительно в тоже время, когда IBM пересталаподдерживать GPSS V.

            Нескольконовых блоков по сравнению с GPSSV было добавлено. Когда была завершена первая реализация GPSS/Hона содержала 58 блоков. Затем в течение следующих лет произошло ихувеличение (до 62 во второй версии - 1988 и до 68 в третьей версии - 1995).Существующая сейчас версия содержит свыше 70 типов блоков. Другое важное расширениесвязано с введением новых управляющих операторов, позволяющих, между прочим,организацию циклов и поэтому упрощается управление прогоном. Наиболее заметноеотличие от GPSS V это возможность ручного повторения некоторыхпрогонов, в GPSS/H требования к управляющим операторам значительноменьше, чем в GPSS V. В противоположность языку GPSS V, вкотором под имя отводилось только пять знаков, в GPSS/Hразрешается использовать под имя 8 знаков, обеспечена не конфликтность сзарезервированными словами. Основное различие заключается в том, что какрассматривать результаты прогона старых моделей написанных на GPSS V в GPSS/H, так как  GPSS/Hиспользует представление времени как числа с плавающей точкой, а GPSS V - целое (и во всех более ранних версиях от IBM). Это будет означать, что несколько событийодновременно будут выполняться в GPSS/H и несколько случаев не предсказуемых результатовдолжно быть отсечено из-за значения времени. Система GPSS/H имеет вчисле сравнительных тестов тесты, прогон которых показывает, что GPSS/H имеетбольшую скорость, чем GPSSV, принаименьшем числе факторов 5 (Henriksen 1983) иимеет так же для сравнения простейшие тесты написанныена других языках программирования обеспечивающих выполнение несколько быстрее (Abedи другие 1985). Другим важнейшим улучшением посравнению с GPSS Vбыла новая интерактивная отладка, позволяющая производить отладку моделей вовремя выполнения. Система GPSS/H постоянно улучшаласьв различных направлениях в течение 90-х годов. В 1993 году была разработана Runtime версия GPSS/H позволяющаяосуществлять прогон предварительно откомпилированных версий  GPSS/H программ, а в третью версию в 1995 году включено 25новых статистических законов распределений. Компилятор первой версии GPSS/H былнаписан на языке ассемблер для майнфрейм компьютеров IBM. В 80-е годы при разработке версий для других типовкомпьютеров, таких как VAX,компилятор был переписан на языке С. В 1988 году быласоздана версия для IBM/PC (MSDOS). Необходимо упомянуть,что система GPSS/H очень схожа для всех платформ. Это не относится к Windows версии и так же не для GUIверсии. Дальнейшие усилия Wolverine Software сфокусированы на SLX и  Proof Animation. GPSS/H описан вруководствах и в ряде книг, (Banks и другие 1989) и (Schriber 1991). То, что GPSS/Hдоминировал на GPSSарене,  он обязан своей открытойструктуре. Все входные и выходные программы писались в форме ASCII текстов;большое количество программного обеспечения было специально разработано дляподключения к GPSS/H, такое как программы обеспечивающиевнешний интерфейс, и завершающие обработку лучше, чем  обычный вывод. В 1980 году было представленодва программных пакета для использования в GPSS/H, оба свозможностями анимации. TESS - расширенная система моделирования для использования в компанииPritsker & Associates и авто симулятор AutoGram. Этианимационные пакеты стали неинтересны пользователям GPSS/H, смомента, когда Wolverine Software в 1990 году разработал собственныйанимационный пакет  Proof Animation. В авто симуляторетак же была программа AutoMod - препроцессор для автоматической генерациитекстов GPSS/H программ. В 80-егоды исследователи также использовали RESQ длябыстрого ввода моделей GPSS/H (Mathewson 1989). В 1993 году Элниски представилсвою программу ускоряющую ввод текстов моделей иоформленную, как оболочка GPSS/H, для прогона моделей на компьютерах типа IBM PC (Wolverine 1993). В начале 90-х MOGUL от High Performance Software был использован для генерации GPSS/H кодов примоделировании систем связи (Rodrigues 1993).Также в начале 90-х германскаяфирма GfL из Аахена реализовала GPSS/H EDITOR – ускоритель ввода GPSS/H программв основном, простым нажатием на кнопки с текстом данных блоков, но безнастоящего графического интерфейса, т.е. без меню с символами блок диаграммблоков (Knepper and Krönchen1993). Начиная с 1994 года вместе с каждой версией GPSS/HProfessional поставляется программа UniFit II, позволяющая пользователюподбирать наиболее подходящие вероятностные распределения для своих данных. Всередине 90-х был также разработана система SIMSTAT (из MC2 Analysis Systems), который читал ианализировал выходные данные GPSS/H (Crain 1996).

 

4.   Семейство GPSSR

 

В данном разделе я расскажу о диалектахGPSS, для краткости названных  семейство GPSSR. Они были разработаны в университете из Западного Онтарио, в основном подруководством Д.Мартина и затем распространяемые через фирму Simulation Software. Последующая информация базируется на статьях Ричардса (Richards 1987 и 2001).

            Первыйиз реализованных продуктов назывался GPSS10, былразработан для компьютеров PDP-10 инаписан на языке Ассемблер и BLISS10. Он в основном базировался на принципах GPSS V. Одним из преимуществ над GPSS V было то,что он имел интерактивный отладчик. Это было 1980 сразу после реализации GPSS/VX длякомпьютеров DEC VAX/11, которая была написана на языке BLISS32. Это былкомпилятор с интерактивной отладкой. В 1991 году появилась версия GPSSR для PDP 11,написанная на языке С. Среди новых функций была одна очень важная - СЧА моглииспользоваться в любом поле, включая, операторы определения функции.Недостатком было то, что симулятор и генератор отчетов были разделены привыполнении, так как требовали очень много оперативной памяти. В 1992 году былареализована система названная GPSS/C, которая была разработана для облегченного запускана любой архитектуре. С тех пор GPSS код былпреобразован в P-код иобрабатывался интерпретатором. В течение следующей декады GPSS/Cразвивался и был адаптирован на множество других компьютерных платформ. В 1983году был разработана первая среди GPSS системверсия для компьютеров типа IBM PC - GPSSR/PC. Это была разработка Б.Ричардса. В сравнении с GPSSR он был расширен функционально в частности в формахдиалога в при выводе результатов. В нем было 42 типаблоков. Семь из них отсутствуют в любой реализации и приведены в приложении.Кроме этого в него были добавлены анимационные возможности.

 

5.   GPSS/PC и GPSS WORLD

 

В 1984,через год после реализации GPSSR/PC, MinutemanSoftware подруководством С. Кокса была завершена разработка версия GPSS накомпьютерах типа IBM PC. Это было программное обеспечение, разработанноенепосредственно для компьютеров типа IBM PC без всяких препроцессоров дляпереноса с больших ЭВМ. Синтаксис языка в основном соответствовал GPSS V, но было некоторое расширение подмножества, например, быливыведены блоки CHANGE, HELP, PRINT и WRITE и общее число блоков доведено до 44.Он имел встроенный редактор расширенного деассемблирования подобно популярномуна данный момент редактору языка BASIC, сномером строки в начале каждой строки, даже в случае проведения вставок.Редактор имел встроенный контроль синтаксиса. Новой функцией системы былавозможность при нажатии на соответствующую клавишу динамического просмотраизменяющейся статистики моделирования в графическом представлении. Такжепростейшие формы анимации были введены для просмотра динамики продвижениятранзактов через блоки модели в виде блок диаграммы. Под имена разрешалосьиспользовать до 20 знаков, только необходимо было обеспечить, чтобы это было незарезервированное слово. Подобно GPSSV и в отличииот GPSS/H, время моделирования должно быть целым числом, но почти неограниченно по размерам. Также другие СЧА были целого типано почти с неограниченным интервалом точности. В отличии и от GPSS V и GPSS/H создание новыхтранзактов в блоке GENERATE  непрекращается, даже если начинают действовать блокирующие условия для входа вследующий блок. В этом случае транзакты ждут прямо в блоке GENERATE. В целяхвыполнения требований по памяти MSDOS, аниматор и генераторотчетов были разделены. Система GPSS/PC в основном не компилятор, а интерпретатор. При  имитационном прогоне сходных моделей на IBM PC, модели на GPSS/PC выполнялись на много медленнее, чем наGPSS/H. В 1988 году был создан GPSS/PC аниматор, постпроцессорориентированный  на MS DOS и поддерживающий создание 3-D анимаций на базе графики AutoCAD. В том же  1988 годубыла улучшена EMSверсия GPSS/PC позволяющая увеличитьвозможности по использованию оперативной памяти. В районе 1990 года появилосьнесколько книг по GPSS/PC (включая студенческую версию на дискете) - (Karian иDudewicz 1991), (Chisman 1992) и (Thesen и Travis 1992). Более фундаментальные изменения были объявлены в 1993году в форме GPSS World. Это была первая разработка для ОС OS/2. Эта версия для OS/2 была анонсирована совместно с анимационной программойSimulation Studio базирующейся на 2½ D векторной графике. В основномиз-за меньшего  признания в мире ОС OS/2,чем Windows дальнейшие усилия MinutemanSoftware были повернуты в сторону Windows,и в 2000 году появилась версия GPSS World 2000.

Новый GPSS World 2000 совместим сверху вниз с GPSS/PC, заисключением анимации. В GPSS World 2000 введено много новых функций. Введениеновых 9 типов блоков увеличило их общее число до 53. Новый блок INTEGRATION этосредство для облегчения моделирования непрерывных гибридных систем. Другиеновые блоки позволяют гибко управлять файлами. GPSS World имеет существенноотличающийся внешний вид по сравнению с GPSS/PC. Он имеет полноэкранныйредактор традиционного для Windows типа. Дляпросмотра результатов используется свыше 20 стандартных окон. Хотяпредставление движения транзактов по блок диаграмме и меньше используетграфику, но оно более приемлемо для отладки. Он также имеет новый более быстрыйтранслятор. СЧА могут принимать значения чисел с плавающей точкой взамен толькоцелых значений в GPSS/PC. GPSS World включает PLUS - язык программирования нижнего уровнямоделирования. Моделирование с использованием PLUS выражений может быть включено почти везде в GPSS программы, в любом блоке или процедуре вызова, такимобразом, увеличивается мощность программ, которые могут быть написаны.  Язык PLUS позволяет программно управлять размещением результатов.Система GPSS World разрешает многозадачность, позволяя несколькимимитационным процессам выполняться одновременно.

Знаменательным фактом является то,что студенческая версия обеих систем GPSS World и GPSS/PC может быть загружена с сайта фирмыwww.minutemansoftware.com.

 

6.   Другие версии языка GPSS

 

В конце 70-х было много другихнезависимых разработчиков программного обеспечения GPSS или идей для GPSS, нетолько в Северной Америке, но и в Европе. Эти GPSS версии или проекты наиболее часто создавалисьуниверситетами. Многое из того, что я сообщу в данном разделе посвященопроектам, которые приведены в статьях, публикациях в материалах конференций и,по крайней мере, имеют частичный академический подход. Важно знать, как успехэтих проектов был достигнут. Моей основной целью в данном отчете показатьосновные идеи, а также дать суммировать работы сделанные по GPSS. Наиболее ранние работы, а именно в середине 80-х,были сделаны в Магдебурге (Германия) на SIMDIS ,близкой к GPSSV версии языка на IBM подобных мэйнфрейм компьютерах. Это, в конечномсчете, привело к расширениям GPSSV, например, к возможностям работыс базой данных (Preuss 1987). Он базировался на SIMDIS, а PC в версия называемая SIMPC была написана на Турбо Паскале примерно в 1990 году.Эта версия по сравнению с SIMDIS имеланесколько расширений, например, встроенный редактор и расширенный вывод действующий одновременно с выполнением (Schulze 1991).В 90-е годы появилась другая немецкая PCориентированная GPSS версия,разработанная на Турбо Паскале, которая называлась GRAMOS-GPSS (Diedenhofen1993).  Основной функцией был простойграфический интерфейс пользователя, где пользователь мог строить программупосредством выбора из меню 40 символов блоков. В конце 80-х годов ИнгольфомСталлом (Швеция) была разработана ориентированная на PC система GPSS, названнаяMicro-GPSS (Stahl 1990and 1996). Он был предназначен для использования в образовании. Разработкавелась постепенно и базировалась на ответной реакции свыше 5000 студентов изШвеции и США. Свое развитие она начал как чистое подмножество GPSS V, но подстуденческим влиянием она была упрощена так, что учебный материал, который в GPSS V требовал 22 часа, а с последней версией Micro-GPSS – 10часов. Было сделано много изменений в языке GPSS V. Это –только значения с плавающей точкой; транзакты, которые могли ждать в блоке GENERATE (например, приоритетныйтранзакт в блоке SIZE); прямаязамена блока TEST блоком IF; WAITIF заменял GATE; ARRIVEиспользовался вместо QUEUE;простейшее GOTO заменило TRANSFER; LET заменило ASSIGNE иSAVEVALUE. В общем, осталось только 22 типа блоков, т.е. меньше чем в оригинальном GPSS от 1961года.  Девяносто девять процентов всехпрограмм из книг по GPSS , былипереписаны в Micro-GPSS с уменьшением программного кода почти на 20%.Значительной особенностью от GPSSV является то, что блоки PRINT и HELP были более мощные, чем в GPSS V.Блок HELP был и, например,использовался для построения графов и для простейшего интерфейса с Proof Animation. Micro-GPSS был написан в оченьпортативном Фортране и был настроен на работу Macintosh, VAX, SUN и системой LUNIX. ХотяMicro-GPSS не совместим с GPSS/H, была программа GPHM, которая транслировала кодыMicro-GPSS в коды GPSS/H. В 90-е годы было несколько заслуживающих вниманиеразработок более совершенного графического интерфейса делающих процесспостроения GPSS программпростым нажатием на символы в символьном меню. Первая попытка в направленииразвития таких графических систем была сделана Боллом (1992), для новогодиалекта GPSS VI, с VI длянаглядности. Первоначально он был разработан для компьютеров Макинтош. Затемпоследовало два проекта с графическим интерфейсом для Micro-GPSS. Версиядля ОС Windows сейчасразрабатывается в Магдебурге  Х.Херпером, А.Крюгером иХ.Шлифке (Herper and Ståhl 1999).  Версия сграфическим интерфейсом для Web, WebGPSS была разработана в 1999 году.Финансирование осуществлялось Шведским КК – фондом, данная разработкапредназначена также и для использования в высшей школе. Система ограничивается16 фундаментальными блоками (Ståhl и Hall 1999).

 

7. Предложения о будущем GPSS

 

Критики основных аспектовсинтаксиса GPSS имеются не только среди приверженцев конкурирующих систем, ноесть и в среде сторонников GPSS. Так дляпримера, и Гордон  (1979), и Хенриксен(1983) что абсолютно объективно необходимо последовательное расширение GPSS и требуется совместимостьсверху вниз с более ранними версиями. GPSS имеет всебольшее и большее количество операторы делающие приблизительно одни и те же  вещи. Некоторые способыконсолидации необходимы. Среди других критических аспектов выделяетсяотсутствие возможностей правильно делать программы по модульному принципу,также GPSS не дает возможностейпостроения программ с иерархической структурой. В противоположность этому  фону выделяется Хенриксен (1985) с идей нового GPSS в статье«GPSS/85”, где все разбросанныеконцепции были собраны в единый фокус. Вышло, что в дальнейшем развитии своегонового GPSS Хенриксен находил всеболее и более правильным начать все с самого начала с нового языкабазирующегося не только на GPSS, но такжеи на С. Этот новый язык, называемый SLX был впервые представлен общественности в 1993 году (Henriksen 1993). Он может рассматриваться и существовать в несколькихоболочках. Нижняя оболочка включает в себя очень мало понятий, но имеет оченьмощный и эффективный инструмент концепции -wait until (ждать пока). В следующей более высокой оболочке модульстатистических процедур определенных в этом базовом языке и еще на однуоболочку выше модуль для задания в SLX  GPSS/H подобных объектов, определяемых использованиембазового языка и статистическим модулем. В то время пока базовый язык содержит GPSS термины advance и terminate, GPSS/H подобныймодуль содержит GPSS терминыSEIZE, RELEASE, ENTER, LEAVE, QUEUE и DEPART. Однако даже в этой GPSS подобнойоболочке SLX имеетдостаточно четкие отличия по сравнению с GPSS. В нем нет  концепцииразмещения GENERATE в верхнейчасти сегмента, например до QUEUE. Более того он может быть обременителен для производства статистикиблоков GPSS в SLX. Вдействительности все это подтверждает предсказание, что никогда транслятор SLX взяв любую GPSS/H программу не сможет автоматически преобразовать ее в SLX код. Поэтому SLX не может быть признанным версией действительно расширяющейвозможности GPSS.

            Другиесистемы развивающие возможности GPSS желают сохранить совместимость сверху внизс ранними версиями. Бехлау, Хинз и Лоренц провели в двух статьях дискуссию овозможных расширениях GPSS/H, включения подмодели позволяющие организоватьиерархические структуры в программах на GPSS, но также предлагают сделать это в преамбуле программы,например, транзакты, устройства и очереди определять в форме векторов. Подобныеидеи об иерархическом формате GPSS,приблизительно в то же время легли в основу разработки HGPSS в Бельгии. Первый шаг по направлению к модульностипрограмм был сделан в системе SIMAN,разделены модельная и экспериментальная части. Модельная часть по очереди можетбыть разделена на подмодели, возможно параметризированные, которые по очередисодержат другие подмодели. Модели транслируются в C++ код, который затем компилируется и выполняется. C++ код может быть вставлен вдругой код, и новые блоки могут быть определены в C++ (Clayes и другие 1995).

 

 

8.  GPSSподобные системы

 

По общейструктуре, также как нескольким ключевым словам можно отнести к GPSS рядпобочных программных разработок. Уже в 70-е появились подобные GPSS программные пакеты, написанные на основных языкахпрограммирования: GPSSS на Simula разработанный Ваучером (Vaucher 1975), APL-GPSS (IBM1976), GPSS-FORTRAN (Schmidt 1979), Pascal-based PASSIM, (Uyeno и Vaessen1980], PL/I GPSS (IBM 1981) и PROSS на Прологе (O'Keefe 1989). Этот типразработок продолжается, и по сей день, например GPSS на Java (Beikirch1997). Также имеются проектыобъединяющие GPSS с другими пакетами, например, MATLAB-GPSS (Pawletta и другие1998). Система SLX также может быть включен в их состав.

 

9.  GPSS в книгах и материалах конференций

 

В данный момент существуетогромное количество книг по GPSS. Нонаиболее известной является классическая красная книганаписанная Шрайбером в 1974 году (Schriber 1974). Но и книги - Gordon (1969) и (1975), Greenberg (1972), MacMillanи Gonzales (1973),Bobillier et. al. (1976), O’Donovan(1979), Solomon (1983), Banks et. al.(1989), Watson and Blackstone (1989), Ståhl (1990 and 1996), Schriber(1991) Karian and Dudewicz (1991), Chisman (1992), Thesen and Travis (1992),Ståhl (1997) and Silverman (1997) - являются примером других книг на английском языке в которых описывается имитационное моделирование с использованием GPSS или очень хорошо описывали GPSS. Было также несколько книг по GPSS в Германии, например, таких как Frank и Lorenz(1979), Roesmann (1979), Weber идругие (1983), Steinhausen (1994)и  Ståhl и Herper (1998). Былонаписано много книг и на других языках, например, Stefanov (1975), Seprödi (1980),Avens-Aventiņš и другие (1987) и Yackiv etal. (1994).

            Кроме этого справочные руководствапо GPSS/H, GPSS/PC, GPSS World и WebGPSS постоянно обновляются. Существует также несколько курсов по GPSS в сети Интернет смотри,например, Lorenz and Schriber (1996) и webgpss.hk-r.se.  За прошедшие 40 летбыло очень много практических применений GPSS. Многие из них были напечатаны в трудах ежегоднойконференции сейчас известной как зимняя конференция по моделированию (WSC). Очень важно отметить, что самая первая из этихконференций называлась конференция по применению языка имитационногомоделирования GPSS, состоявшаяся 14-17 ноября 1967 года.

 

10.                    Заключительные замечания

 

Я выше ужепоказал, что наиболее заслуживающее внимание было за 40 лет развития GPSS. Также очень важно, что GPSS все 40 лет активно использовался на практике. За многиегоды он показал необходимость более широкого использования всех систем дискретнособытийного моделирования. Это было ясно в начале 80-х годов(Christy and Watson1983), но еще по крайней мере в середине 90-хпроводились научные исследования (McHaney 1996) о более широком использованиисистем.

На этомфоне естественно появлялись вопросы, что позволило GPSS доминировать все эти 40 лет и оправдывать все усилия по егоразвитию и так активно использоваться. Вероятно можносказать, что не GPSS один изстарейших языков имитационного моделирования. Старейшим является GPS – общая имитационная программа, разработаннаяТоучером примерно в 1958 году (Tocher and Owen 1960), но она не имеет такихдостижений как GPSS. Взамендействий по непрерывной популяризации GPSSпроводились работы по разработке важнейших его характеристик, которые осталисьна многие годы. Я обсуждал эти характеристики детально в другой статье(Ståhl 1993), здесь я только пытался их суммировать.

  GPSSотличается более ориентированным на имитационное моделирование языком, подобно  SIMULA, болеепроблемно ориентированным. Представление жизни модели как течение временныхтранзактов, продвигающихся в модели и обслуживающихся в постоянных устройствахочень естественно для основной части задач имитационного моделирования. Язык GPSS, в своем последнем виде, очень легок и весел дляизучения. Студенты после короткого времени обучения могут создавать достаточносложные модели. Автоматический сбор статистики огромная помощь для начинающих.Для многих реальных систем моделирование на GPSS гораздо легче, чем в анимационно ориентированных системах (AOS), подобных, например, Witness. В AOS каждый обслуживающий аппарат подобен машинепредставленной только однажды, потом он требует анимационного рабочегопространства, изображений, например, дверь фабрики должна быть только в одномместе. В GPSS сущностьмашины может быть представлена во многих различных местах программы. Только всистеме, где каждый продукт является собственной машиной, которая посещаетсятолько один раз, легче программируется в AOS, чем в GPSS. Блокдиаграммы с очень понятно читаемыми символами, многие из которых парные,позволяют очень легко обсуждать логику модели с пользователями. Компактныепрограммы и возможность использования графического интерфейса позволяютускорить создание прототипов моделей, на каждую из которых можно получитьбыстрый отклик после улучшений проведенных пользователем. Этот последний факторстал причиной легкого использования имитационного моделирования на практике.Компактные программы вместе с блок диаграммами обеспечивают сами лучшеедокументирование, чем возможно в большинстве других систем, в частности в AOS. Эффективность выполнения моделей в GPSS в общемможет быть в самом деле выше, особенно в GPSS/H  и многие системы имеют возможностьавтоматической трансляции в GPSS/H коды. Также важно здесь сказать о дискуссии в литературе о путях написания GPSS кода увеличивающего эффективность выполнения (Born 1998),(Bobillier и другие 1976) и(Ståhl 1998).

Новыеверсии GPSS имеютобычно лучшие отлажены, чем другие системы имитации, так как прогон вновых системах может сравниваться с результатами прогона в старых системах. GPSS версии также предметбольшего научного внимания, чем другие системы имитации (Schriber and Brunner1998). Наконец GPSS имеетпреимущество в том, что вероятно более тысячи моделей на GPSS из различных областей применения документированы влитературе. Поэтому пользователи GPSS начинаютразработку модели, имея хорошие стартовые позиции, используя старые программы.

Поэтому,учитывая все это и другие преимущества GPSS, я уверен, что GPSS будет доминироватьи в будущем и будет основным игроком на аренеимитационного моделирования когда наступит золотая годовщина 50-летия GPSS.

 

Благодарности

 

            В написанииэтой статьи большую пользу своими комментариями и документацией принесли B.Richards, S. Cox, J. Henriksen, H. Herper, P. Lorenz, R. Sargent, T. Schriber,T. Schulze, D. Stanford and J. Tolujevs.

 

ПРИЛОЖЕНИЕ

Типы блоковв различных версиях GPSS

 

№ Блока

ИМЯ БЛОКА

GPSS

GPSS II

GPSS II

GPSS/360

GPSS  V

GPSS/PC

micro-GPSS

 

 

 

 

 

 

 

 

 

1

ADVANCE

x

x

x

x

x

x

x

2

ALTER

 

 

 

x

x

x

 

3

ARRIVE

 

 

 

 

 

 

x

4

ASSEMBLE

x

x

x

x

x

x

x

5

ASSIGN

x

x

x

x

x

x

 

6

BRANCH

x

 

 

 

 

 

 

7

BUFFER

 

x

x

x

x

x

 

8

CALL

x

 

 

 

 

 

 

9

CHANGE

 

 

x

x

x

 

 

10

COMPARE

 

x

 

 

 

 

 

11

COUNT

 

 

 

x

x

x

 

12

DEPART

 

 

x

x

x

x

x

13

ENTER

x

x

x

x

x

x

x

14

EXAMINE

 

 

 

x

x

x

 

15

EXECUTE

 

 

x

x

x

x

 

16

FAVAIL

 

 

 

 

x

x

 

17

FUNAVAIL

 

 

 

 

x

x

 

18

GATE

x

x

x

x

x

x

 

19

GATHER

 

 

x

x

x

x

 

20

GENERATE

x

x

x

x

x

x

x

21

GOTO

 

 

 

 

 

 

x

22

HELP

 

x

x

x

x

 

x

23

HOLD

x

x

 

 

 

 

 

24

IF

 

 

 

 

 

 

x

25

INDEX

 

x

x

x

x

x

 

26

INTERRUPT

x

x

 

 

 

 

 

27

JOIN

 

 

 

x

x

x

 

28

LEAVE

x

 

x

x

x

x

x

29

LET

 

 

 

 

 

 

x

30

LINK

 

 

x

x

x

x

 

31

LOGIC

 

x

x

x

x

x

 

32

LOOP

 

x

x

x

x

x

 

33

MARK

x

x

x

x

x

x

 

34

MATCH

x

x

x

x

x

x

 

35

MSAVEVALUE

 

 

 

x

x

x

 

36

ORIGINATE

x

x

 

 

 

 

 

37

PREEMPT

x

x

x

x

x

x

x

38

PRINT

 

x

x

x

x

 

x

39

PRIORITY

 

x

x

x

x

x

x

40

QUEUE

x

x

x

x

x

x

 

41

RELEASE

x

x

x

x

x

x

x

42

REMOVE

 

 

 

x

x

x

 

43

RETURN

x

x

x

x

x

x

x

44

SAVAIL

 

 

 

 

x

x

 

45

SAVEVALUE

 

 

x

x

x

x

 

46

SAVEX

 

x

 

 

 

 

 

47

SCAN

 

 

 

x

x

x

 

48

SEIZE

x

x

x

x

 x

x

x

49

SELECT

 

 

 

x

x

x

x

50

SPLIT 

x

x

x

x

x

x

x

51

STORE

x

x

 

 

 

 

 

52

SUNAVAIL

 

 

 

 

x

x

 

53

TABULATE

x

x

x

x

x

x

x

54

TAG

x

 

 

 

 

 

 

55

TERMINATE

x

x

x

x

x

x

x

56

TEST

 

 

x

x

x

x

 

57

TRACE

 

x

x

x

x

x

 

58

TRANSFER

x

 

x

x

x

x

 

59

UNLINK

 

 

x

x

x

x

 

60

UNTRACE

 

x

x

x

x

x

 

61

WAITIF

 

 

 

 

 

 

x

62

WRITE

x

x

x

x

x

 

 

 

GPSS/H, Proof Animation и SLX торговые марки фирмы WolverineSoftware Corporation. GPSS/PC и GPSS World торговые марки фирмы Minuteman SoftwareCorporation.

 

ЛИТЕРАТУРА

 

Abed, S., T. Barta and K. McRoberts. 1985. A quantitative comparison of three simulationlanguages: GPSS/H, SLAM, SIMSCRIPT. Comput. Ind. Eng., 9, pp. 45-66.

Avens-AventiņšJ., J. Merkurjevs J. and J. Tolujevs. 1987. Objektuun elastīgo ražotņu

vadībasalgoritmu modeļi Metodiskie norādījumi imitācijasmodelēšanā valodā GPSS. Rīgas politehniskaisinstitūts, Rīga,

Ball, D. 1992. GPSS/VI. In J. J. Swain, D. Goldsman, R. Crain and J. Wilson (eds.) Proceedings of the 1992 Winter Simulation Conference.  La Jolla, CA.

Banks, J., J. Carson and J. Sy. 1989. GettingStarted with GPSS/H. Wolverine Software, Annadale, VA. 1989

Behlau, T. and V. Hinz. GPSS*. 1993. A GPSS implementation with hierarchicalmodeling features. In G. Evans, M. Mollaghasemi, E. Russelland W. Biles (eds.) Proceedings of the1993 Winter Simulation Conference. Los Angeles.

Behlau, T.and P. Lorenz. 1993. Building an even better GPSS. In GPSS-Users’ Group Europe-Grü­n­dungs­veran­stal­tung. ASIMHeft  36, Magdeburg.

Beikirch,J. 1997. Ein Java basiertes GPSS.Diplomarbeit Otto-von-Guericke Universität, Magdeburg.

Bobillier, P., B. Kahan and A. Probst. 1976. Simulationwith GPSS and GPSS V. Prentice Hall, Englewood Cliffs, NJ.

Born, R. 1998.Teaching Simulation of Manufacturing Systems ThroughStepwise Refinement Using micro-GPSS. In D. Davani and D.Elizandro (eds.) International Conferenceon Simulation and Multimedia in Engineering Education (ICSEE '98), SCS, La Jolla.

Chisman, J.A. 1992. Introductionto Simulation Modeling Using GPSS/PC. PrenticeHall, Englewood Cliffs, N.J.

Christy, D. and H. Watson. 1983. The Application of Simulation: A Survey of Industry  Practices. Interfaces, Vol. 13, No.5.

Claeys, F., H. Vangheluwe and G.Vansteenkiste. 1995.HGPSS: A hierarchical extension to GPSS In M. Snorek,M. Sujansky and A. Verbraeck (eds.)Proceedings of the 1995 European Simulation Multiconfe­rence.  Prague.

Crain, R. 1996. Simulation UsingGPSS/H. In J. Charnes, D. Morrice, D.Brunner & J. Swain

(eds.) Proceedings of the 1996 Winter Simulation Conference. Coronado, CA.     

Diedenhofen, H. 1993. GRAMOS-GPSS. In GPSS-Users' Group Europe Grün­dungs-veranstaltung.  ASIM Heft Nr. 36, Magde­burg.

Dietmeyer, D, G. Gordon, J. Runyonand B. Tague. 1960. (Conference paperCP-60-1090) An interpretative simulation program forestimating occupancy and delay in traffic-handling systems which areincompletely detailed. IEEEPacific general meeting.  San Diego.

Efron, R. and G. Gordon. 1964. A general purpose digital simulator andexamples of its applications.  IBM Systems J., 3(1),

Frank, M. and P. Lorenz. 1979. Simulation diskreter Prozesse. Fachbuchverlag, Leipzig.

Gordon, G. 1961. Preliminarymanual for GPS – A general purpose systems simulator. (Technical memorandum 17-048). IBM, White Plains, N.Y. October6, 1961

Gordon, G. 1961b. A general purpose systemssimulation program. In Proc. EJCC. Washington, D.C., pp. 87-104. Macmillan, NY.

Gordon, G. 1962. A general purpose systems simulator. IBMSystems Journal. 1, pp. 18 – 32.

Gordon, G. 1969. System Simulation. Prentice Hall, Englewood Cliffs, NJ. 1969 (2nd edition 1978)

Gordon, G. 1975. The Application of GPSS to DiscreteSimulation. Prentice Hall. Englewood Cliffs, NJ.

Gordon, G. 1978. The Development of the General PurposeSimulation System (GPSS).In ACM SIGPLAN Notices, Vol. 13, No. 8, August. Also in R.Wexelblatt (Ed.) History of ProgrammingLanguages, Academic Press, NY, 1981.

Gordon, G. 1979. The design of theGPSS language. In Adams, R. and A. Dagramici (eds.) Current Issues in Simulation. Wiley, NY.

Gould, R. 1969. GPSS/360 – animproved general systems simulator. IBM Systems Journal, 8(1).

Greenberg, S. 1972. GPSS Primer. Wiley, NY.

Henriksen, J. 1983. State-of-the-Art GPSS. Paperpresented at the 1983 Summer Computer Simulation Conference, Vancouver.

Henriksen, J.  1985.TheDevelopment of GPSS/85. Paperpresented at the 18th Annual Simulation Symposium, Tampa, Florida.

Henriksen, J. 1993. SLX, The Successorto GPSS/H.  In G. Evans, M.Mollaghasemi, E. Russell and W. Biles (eds.). Proceedings of the 1993Winter Simulation Conference. LosAngeles, pp. 110-117.

Herper, H. and I. Ståhl. 1999. Micro-GPSS on the Web and for Windows: A  tool for introductionto simulation in high schools. In P. Farrington, H. Nembhard,D. Sturrock and G. Evans (eds.) Proceedingsof the 1999 Winter Simulation Conference. Phoenix, AZ.

Herscovitch, H. and T. Schneider. 1985. GPSS III  - An extended general purposesimulator. IBM SystemsJournal, 4(3).

IBM. 1963. General purpose systemssimulator II. Form B20-6346. IBM Corp. White Plains, NY.

IBM. 1976 .    APLGPSS for APLSV (program no. 5796-PJF).

IBM. 1981. PL/I GPSSUsers Manual. IBM, White Plains, NY.

Karian,Z., and E. Dudewicz. 1991. Modern Statistical. Systems,and GPSS Simulation. Computer Science Press, NY.

Knepper, L and A.Krönchen. 1993. Überlegungen zu einer Simulationsumgebung vonGPSS/H. In GPSS-Users’ Group EuropeGründungsveran­stal­tung, ASIM Heft nr. 36, Magdeburg.

Lorenz, P. and T. Schriber. 1996. Teaching introductory simulation. In J. Charnes,D. Morrice, D.Brunner & J. Swain (eds.)Proceedings of the 1996 Winter Simulation Conference. Coronado, CA.

Mathewson S. 1989. SimulationSupport Environments. In Pidd, M. (Ed.) ComputerModelling for Discrete Simulation. Wiley, Chichester, UK.

McHaney, R. 1996. Simulation Project Success and Failure: SomeSur­vey Findings. Working paper, Dept. of Management, Kansas State U., Manhattan.

McMillan, C. and R. Gonzales. 1973. SystemsAnalysis - A Computer Approach to Decision Models. 3rd edition. Irwin, Homewood, IL.

Nance, R. 1996.A History of Discrete Simulation Programming Languages.In T. Bergin and R. Gibson (eds.). History of Programming Languages II.ACM Press, New York.

O’Donavan, T.1979. GPSS – Simulation Made Simple. Wiley, Chichester.

O’Keefe, R.1989. The Role of Artificial Intelligence in Discrete-EventSimulation. In Widman, L, K. Loparo and N. Nielsen.Artificial IntelligenceSimulation Modeling. Wiley, NY.

Pawletta, T., W. Drewelow and S. Pawletta. 1998. Transaktionsorientierte Simu­lation in interaktivenSCEs. In Lorenz and B. Preim (Hrsg.) Simulationund Visualisierung '98. SCS, Magdeburg.

Preuss, F. 1987. Forderungen an eineinteraktive Nutzung von Simulations­systemen und ihre Realisierung durchErweiterungen zum PS SIMDIS.  Dissertation, TUMagdeburg.

Richards, B. 1987. Introduction to GPSS. In J. Caroll Simulation UsingPersonal Computers. Prentice Hall, Englewood Cliffs, NJ.

Richards, B. 2001.Email correspondence with the author.

Rodrigues, J. 1993. Directory of Simulation Software.SCS, p. 23

Roesmann, H. 1979. Simulationmit GPSS. Oldenbourg Verlag, München.

Schmidt, B. 1979. GPSS-FORTRAN. Springer, Berlin.

Schriber, T. 1974. Simulation Using GPSS. Wiley, New York. (Имеется перевод книги на русский язык: Москва,изд. «Машиностроение», 1980

Schriber, T. 1991. AnIntroduction to Simulation Using GPSS/H. Wiley, NY.

Schriber, T. and D. Brunner. 1998. How discrete-event simulation software works. In J. Banks (ed.) Handbook ofSimulation. Wiley, NY.

Schulze,T. 1991. GPSS–Implementationen aufPersonal­computern dargestellt am Beispiels

des SystemsSIMPC. Habilitation, TU Magdeburg.

Schulze, T. and J. Henriksen. 1998. Simulation Needs SLX. Otto-von-Guericke Universität, Magdeburg.

Seprödi, L. 1980. A GPSS Szimulációs Nyelv, MüszakiKönyvkiadó, Budapest.

Silverman, R.1997. A LaboratoryManual for Simulation with GPSS/H for Computer Science Majors. University of the District of Columbia.

 Solomon, S. 1983. Simulation of Waiting-Line Systems.Prentice Hall, Englewood Cliffs, NJ.

Stefanov, S. 1975. Simulatsionna Modelinarechez GPSS/360. Karl Marx Institute, Sofia.

 Steinhausen, D. 1994. Simulationstechniken. Oldenbourg Verlag,München.

 Ståhl, I. 1990. Introduction to Simulation with GPSS: On the PC, Macintosh and VAX.Prentice Hall International, Hemel Hempstead, U.K. 1990

Ståhl, I. 1993. GPSS will prevail- Some reasons for the resilience ofthe GPSS simulation ideas. In GPSS-Users’ GroupEurope–Gründungsveranstaltung. ASIM Heft Nr. 36, Magdeburg.

Ståhl, I. 1996. Simulation Made Simple Usingmicro-GPSS.  SSE, Stockholm. 1996.

Ståhl, I. 1998.The Efficient Implementation ofWait Statements. I D. J. Medeiros, E.F. Watson, J. S. Carson och S. Manivannan(eds.) 1998 Winter Simulation ConferenceProceedings. Washington, D.C.

Ståhl,I. and F. Hall. 1999.Principles for a Web-based Micro-GPSS System for Swedish High-School Students. In H.Szczerbicka (eds.) Modelling and Simulation, ATool for the next Millenium. SCS,Warsawa. 1999.

Ståhl, I. and H.Herper. 1998. Einführung in dieSimulation mit Micro-GPSS - Ein Grundkurs in acht Lektionen. Universität Magdeburg.

Thesen, A. and L. Travis. 1992. Simulationfor Decision Making. West Publishing, St. Paul, MN. 1992

Tocher, K. 1966. Some techniques of model building.Proc. IBM ScientificComputing Symposium on Simulation Models and Gaming. IBM, White Plains, NY.

Tocher, K. and D. Owen. 1960. The Automatic Programming of Simulations. In Proc. of the ThirdInternational Conference on Operational Research.

Yackiv, I., J. Tolujev and N.Sinenko. 1994. Sistema Imitatsionnavo Modelirovanija GPSS/PC. Riga AviationUniversity.

Uyeno, D. and W. Vaessen. 1980. PASSIM: a discrete-event simulation package forPascal. Simulation, 35, p. 183-190.

Vaucher, J. 1977.

 www.jsp.umontreal.ca/~vaucher/Software/gpsss.sim

Watson, H. and J. Blackstone. 1989. ComputerSimulation. 2nd Ed. Wiley, NY.

Weber, K., R. Trzebiner and H. Tempelmeier. 1983.  Simulationmit GPSS. Stuttgart.

Wolverine Software 1993. Checkpoint, Fall 1993, p. 7.

 

 

 

 

Распечатанос портала GPSS.RU

© Ингольф Сталл, 2001 г.