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).
 
назад

вперед