Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 30
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Сравнение двух бинарных деревьев на Turbo Pascal + отчет
Моделирование работы аэропорта на GPSS + Пояснительная записка
Моделирование информационно-поисковой библиографической системы на gpss ...

ПРИНЦИП РАБОТЫ СИСТЕМЫ МОДЕЛИРОВАНИЯ ДИСКРЕТНЫХ СИСТЕМ GPSS


GPSS является языком моделирования, используемым для построения моделей и
проведения моделирования на ЭВМ. Модели на GPSS компактны, часто состоят из
меньшего числа операторов, чем такие же модели, написанные на процедурных языках
(например, на Паскале или Си). Это объясняется тем, что в GPSS встроено максимально
возможное число логических программ, необходимых для моделирующих систем. В него
также входят специальные средства для описания динамического поведения систем,
меняющихся во времени, причем изменение состояний происходит в дискретные моменты
времени. GPSS очень удобен при программировании, поскольку интерпретатор GPSS
(здесь и далее интерпретатором называется моделирующая часть системы GPSS) многие
функции выполняет автоматически. Например, GPSS без специального на то указания
пользователя собирает статистические данные, описывающие поведение модели,
автоматически печатает итоговую статистику по завершении моделирования.
Пользователю нет необходимости включать в модель операторы для сбора и накопления
этих данных или задавать формат, указывающий, в каком виде должны быть распечатаны
итоговые данные. В язык включены и многие другие полезные элементы. Например,
GPSS обслуживает таймер модельного времени, планирует события, которые должны
произойти позднее в течение времени моделирования, вызывает их своевременное
появление и управляет очередностью поступления.
Язык моделирования дискретных систем GPSS/PC построен в предположении, что
моделью сложной дискретной системы является описание ее элементов и логических
правил их взаимодействия в процессе функционирования моделируемой системы.
Предполагается также, что для определенного класса моделируемых систем можно
выделить небольшой набор абстрактных элементов — объектов. Причем набор
логических правил также ограничен и может быть описан небольшим числом
стандартных операций. Комплекс программ, описывающих функционирование объектов и
выполняющих логические операции, является основой для создания программной модели
системы данного класса.
Описание системы на GPSS представляет собой последовательность блоков,
каждый из которых соответствует некоторому оператору (подпрограмме). Каждый блок
имеет определенное количество реквизитов, называемых полями, которые отделяются
друг от друга запятой (это аналоги параметров процедур и функций в языках
программирования), но положение полей строго фиксировано, и отсутствие некоторого
поля отмечается запятой. Блоки записываются в следующем формате:
номер_строки метка имя_операции операнды ; комментарии
Строки нумеруются от 1 до 9999999. Операторы располагаются в программе в
соответствии с нумерацией строк. Некоторые операторы не требуется включать в
исходную программу. Такие операторы вводятся без номера строки. Отдельные
операторы могут иметь метку для ссылки на эти операторы в других операторах. Между
номером строки и меткой ставится один пробел. Отсутствие метки также обозначается
пробелом.
Имя_операции - это ключевое слово, указывающее конкретную функцию,
выполняемую данным оператором. Операнды - уточняющие и конкретизирующие
выполнение функции, определённой в поле операции. Эти поля в зависимости от типа
операции содержат до девяти операндов, расположенных в определённой
последовательности и обозначаемыми буквами латинского алфавита от А до I. Некоторые
операции вообще не имеют операндов, а в некоторых операнды могут быть пропущены.
Если некоторое частичное поле остается пустым, т. е. не нужен соответствующий
аргумент, это отмечается еще одной запятой, например: PRINT,, MOV1. Здесь
используется только аргумент MOV в частичном поле С (А и В пустые).
В качестве значений, записываемых в указанные поля (A...I), можно использовать: а)
некоторый стандартный числовой атрибут (СЧА); б) положительную константу Кп; в)
специальные обозначения, определяющие режим (например, ALL для блока TRANSFER);
г) определенные СЧА (только Xn, Vn и т. д.).
В GPSS имеется ряд средств для внесения комментариев в тело программы. Во-
первых, наличие символа (*) в первой колонке указывает на то, что карта содержит только
комментарии и не будет просматриваться транслятором. Во-вторых, появление символа (;)
в списке операндов означает окончание списка и начало комментария. Информация,
следующая после (;) в поле операндов, может содержать любые символы русского и
латинского алфавитов и не подлежит просмотру транслятором.
Каждый оператор относится к одному из четырёх типов:
• карты описания блоков (формируют логику модели),
• карты описания объектов (описание параметров объектов),
• управляющие карты (управление процессом моделирования),
• управляющие карты системы (управление интегрированной средой GPSS/PC).
После трансляции исходной программы в памяти ПК создаётся текущая модель,
являющаяся совокупностью разного типа объектов. Каждому объекту соответствуют
числовые атрибуты, описывающие его состояние в данный момент модельного времени.
Значения атрибутов могут быть арифметическими или логическими. Атрибуты,
доступные программисту, называются стандартными числовыми атрибутами (СЧА)
(см. Приложение 3).
Кроме того, имеется ряд так называемых системных атрибутов, относящихся не к
отдельным объектам, а к модели в целом. Значение атрибутов всех объектов модели по
окончанию моделирования выводятся в стандартный отчёт. Все СЧА являются целыми
числами2. Для ссылки на стандартные числовые атрибуты соответствующий операнд
оператора записывается, так:
СЧА$имя



или так:
СЧАi



где СЧА - конкретный СЧА, имя - имя объекта, i - номер объекта, $ - символ-разделитель.
Каждый объект GPSS имеет имя и номер. Имя объекта представляет собой
начинающуюся с буквы последовательность букв латинского алфавита, цифр и символа
подчёркивания "_", общее число символов – от трех до пяти. Первые три символа – буквы.
При необходимости имени любого объекта, кроме имени блока, можно поставить в
соответствие любой номер с помощью карты EQU, имеющей следующий формат:
Метка Операция A
j EQU номер
где j – имя объекта



Для того чтобы показать пошаговое выполнение процедур, было использовано
символическое изображение передач управления в виде специальных фигур и линий (см.
рис. 2.). Управление передавалось от одного блока к другому (или от одного действия к
другому). Однако в GPSS концепция "передачи управления от блока к блоку" имеет
специфические особенности и требует более подробного рассмотрения. Конфигурация
блок-схемы GPSS-модели отражает направления, по которым происходит движение
перемещающихся элементов. Каждый такой элемент называется транзактом. Транзакты
являются динамическими (т. е. движущимися) элементами GPSS-модели. Работа этой
модели заключается в перемещении транзактов от блоков к блокам. Некоторые примеры
возможных аналогий между транзактами и элементами реальных систем представлены в
табл. 1.
Таблица.1

Таким образом, перемещение транзакта от блока к блоку в модели аналогично,
например, передвижению клиента в парикмахерской от одной стадии к другой.
В самом начале моделирования в GPSS-модели нет ни одного транзакта. В
процессе моделирования транзакты входят в модель в определенные моменты времени в
соответствии с теми логическими потребностями, которые возникают в моделируемой
системе. Подобным же образом транзакты покидают модель. В общем случае в модели
существует большое число транзактов, но в один момент времени двигается только один.
Если транзакт начал свое движение, он перемещается от блока к блоку по пути,
предписанному блок-схемой. Такое продвижение транзакта продолжается до тех пор, пока
не произойдет одно из следующих возможных событий:
• транзакт входит в блок, функцией которого является удаление транзакта из модели,
• транзакт входит в блок, функцией которого является задержка транзакта на некоторое
время,
• транзакт "пытается" войти в следующий блок в соответствии с блок-схемой, но блок
"отказывается" принять его.
Если возникло одно из описанных условий, то транзакт остается на месте, и начинается
перемещение в модели другого транзакта. Таким образом, выполнение моделирования в
системе продолжается.
Центральной задачей, выполняемой симулятором, является определение того, какой
транзакт надо выбрать следующим для продвижения в модели, когда его предшественник
прекратил продвижение. С этой целью симулятор рассматривает каждый транзакт как
элемент некоторого списка. В относительно простых моделях используются список
текущих событий (время продвижения меньше или равно модельному) и список будущих
событий (время продвижения больше модельного). Симулятор имеет таймер модельного
времени. Таймер имеет следующие особенности:
• регистрируются только целые значения,
• единица модельного времени выбирается разработчиком,
• симулятор не анализирует состояние модели в каждый следующий момент модельного
времени, а продвигает таймер к моменту времени, когда происходит ближайшее
следующее событие.
Симулятор GPSS/PC помещает транзакты в зависимости от условий в модели в тот
или иной список и переносит их из списка в список, просматривает списки, выбирает
следующий транзакт для обработки, корректирует таймер модельного времени после
обработки всех транзактов в списке текущих событий.
Модель на GPSS состоит из одного или нескольких независимых сегментов. В
процессе моделирования активным является тот из сегментов, в котором находится
перемещающийся в настоящий момент транзакт. Когда он блокируется, начинает
двигаться следующий транзакт, и может быть так, что этот следующий транзакт
принадлежит другому сегменту модели. Таким образом, происходит переключение
активности между сегментами.
Объекты GPSS подразделяются на 7 категорий и 14 типов (табл. 1) и позволяют, с
одной стороны, описать их взаимодействие сравнительно несложными наборами
операций, с другой — достаточно просто и наглядно представить процесс
функционирования исследуемой системы S, формализуемой в виде Q-схемы.
Таблица 2

Для облегчения пользователю процесса построения модели в GPSS разработан так
называемый язык блок-диаграмм (см. приложение 1, где блоки приведены в порядке
латинского алфавита), позволяющий упростить переход от алгоритма к программе
модели системы S. Каждый блок GPSS имеет свой графический аналог, с помощью
которых отображается пространственная конструкция модели, упрощая дальнейшую
линеаризацию программы модели.
Построение блок-диаграмм знакомит программиста с набором операторов языка.
Набор операторов языка однозначно соответствует набору блоков для описания блок-
диаграммы. Вследствие этого очевидно, что построение блок-диаграммы является не
самоцелью, а лишь промежуточным этапом при написании имитационной модели
исследуемой системы с использованием операторов языка GPSS/PC. При этом процесс
создания модели можно изобразить в виде схемы, показанной на рис. 4.
Основные сокращения и обозначения, используемые симулятором GPSS на этапе
системного ввода, приведены в приложении 2.
Динамическими объектами являются транзакты (сообщения), которые представляют
собой единицы исследуемых потоков и производят ряд определенных действий,
Схема создания модели
Рис. 4. Схема создания модели
продвигаясь по фиксированной структуре, представляющей собой совокупность объектов
других категорий.
Операционные объекты, т.е. блоки, задают логику функционирования модели системы
и определяют пути движения транзактов между объектами аппаратной категории.
Объекты аппаратной категории — это абстрактные элементы (устройства памяти и
логические ключи), на которые может быть декомпозировано оборудование реальной
системы. Воздействуя на эти объекты, транзакты могут изменять их состояние и влиять на
движение других транзактов.
Вычислительная категория служит для описания таких ситуаций в процессе
моделирования, когда связи между компонентами моделируемой системы S наиболее
просто и компактно выражаются в виде математических (аналитических и логических)
соотношений. Для этих целей в качестве объектов вычислительной категории введены
арифметические и булевские переменные и
функции.
К статистическим объектам относятся очереди и таблицы, вводимые для оценки
характеристик поведения системы.
В процессе моделирования системы одни объекты взаимодействуют с другими, в
результате чего происходят изменения атрибутов и преобразование арифметических или
логических значений их. Такие преобразования называются событиями,
Транзакты моделируют прохождение по системе соответствующих единиц
исследуемого потока. Такое движение может быть разбито на цепь элементарных
событий, происходящих в определенные моменты времени. Основной задачей
симулятора GPSS является определение моментов наступления этих событий,
расположение их в правильной временной последовательности и выполнение
соответствующих действий при наступлении каждого события. Чтобы обеспечить
правильную последовательность обработки событий во времени, в симуляторе GPSS
имеются «системные часы», хранящие значения абсолютного времени модели. Все
отрезки времени описываются целыми числами. Поэтому перед составлением модели
необходимо провести временное масштабирование для всех временных параметров и
характеристик модели системы.
Следующие СЧА не связаны только с одним отдельным объектом, а используются
моделью в целом: С1—текущее значение относительного времени с начала процесса
моделирования: Кп или п — положительная константа; RNx—одно из восьми случайных
чисел (1 ≤ x ≤ 8), значения которых находятся в пределах О...999.
В GPSS имеется два основных типа объектов: транзакты и блоки, относящиеся
соответственно к динамической и операционной категории. Практически все изменения
состояний модели системы S происходят в результате входа транзактов в блоки и
выполнения блоками своих функций. С блоками непосредственно связаны: операционные
блоки, изменяющие процесс моделирования; блоки вывода на печать промежуточных
результатов моделирования; карты, управляющие процессом моделирования; карты,
управляющие редактированием результатов моделирования. Всем блокам GPSS
присваиваются порядковые номера, карты не нумеруются.


Сноски:
1 пробелы недопустимы
2 Атрибуты, имеющие дробную часть, имеют значения, выраженные в долях тысячи.
Например, если прибор находился в работе 63,4% времени моделирования, то его
коэффициент нагрузки равен 0,634, а его атрибут Fri = 634
Опубликовал Kest December 12 2009 13:52:52 · 0 Комментариев · 9554 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
3D Октаэдр
База каталогов ( ...
Просмотр файлов и...
Панель Наша Кнопка
Allsubmitter 4.7 ...
SMLPack v1.0
Трассировка прово...
Как программирова...
PHP глазами хакера
TsHintManager
EditNew
Анекдоты с ostrie.ru
Функции Visual Basic
Профессиональное ...
Пример создания W...
Bitmap [для кнопок]
Переработанный пл...
Microsoft SQL Ser...
C++ : библиотека ...
Converter AMR<->W...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97839
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14193
Borland Delphi ... 10293
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Абстрактная машина...
Команда giTeximageiD
Игровые автоматы R...
компьютеру из сети...
Настройка учетной ...
Пиктограмма для ре...
Все слышали про Ву...
Процедура Ellipse ...
Класс TPaintBox
5 мифов Web програ...
Заголовок программы
ClubGaminator
Листинг 13.11. Фун...
Генератор списков ...
Архитектурные реше...
Работа с текстовым...
ГЛАВА 6. ВСТРОЕНН...
Ссылки
Транзакты
Canon: отобразите ...
Как работают поиск...
ROX casino
Символьные SQL-ф...
на прилагаемом ком...
Список идентификат...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?