Математические и информационные модели защиты информации

Система GPSS World. Блоки динамической категории, копирования, уничтожения, безусловной и условной адресации. Системы с разнородными потоками событий. Статистика очередей, цикличная обработка. Управление потоком сообщений, недоступность устройств.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 01.06.2015
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Рисунок 4 - Меню выбора объекта типа «Модель» или текстового объекта

Так как нужно создать объект «Модель», выберем Model. Откроется окно текстового редактора:

Рисунок 5 - Окно текстового редактора

Приведем программу на GPSS Примера 1.

Пример 1

Определение таблиц

VrRem1TableM1,420,180,5

VrRem2TableM1,420,180,5

VrRemTableM1,420,180,5

Сегмент имитации ремонта СС первого типа

GENERATE 600,300; Источник СС первого типа

QUEUERemQ; Встать в общую очередь

QUEUERemQ1; Встать в очередь СС первого типа

SEIZERem1; Занять информационно-техническое подразделение

DEPARTRemQ; Покинуть общую очередь

DEPARTRemQ1; Покинуть очередь СС первого типа

ADVANCE360,120; Имитация обслуживания

RELEASERem1; Освободить информационно-техническое подразделение

TABULATE VrRem1; Данные о СС первого типа

TRANSFER ,Met1; Отремонтированные СС первого типа

Сегмент имитации ремонта СС второго типа

GENERATE 720,480; Источник СС второго типа

QUEUERemQ; Встать в общую очередь

QUEUERemQ2; Встать в очередь СС второго типа

SEIZERem1; Занять информационно-техническое подразделение

DEPARTRemQ; Покинуть общую очередь

DEPARTRemQ2; Покинуть очередь СС второго типа

ADVANCE480,240; Имитация обслуживания

RELEASERem1; Освободить информационно-техническое подразделение

TABULATE VrRem2; Данные о СС второго типа в таблицу

Met1 TABULATEVrRem; Данные о СС обоих типов в таблицу

TERMINATE; Отремонтированные СС первого и второго типов

Сегмент задания времени моделирования

GENERATE 4320

TERMINATE1

Модель примера 1 начинается с заголовка, выделенного жирным. В текстовом редакторе GPSS World по умолчанию используется шрифт Courier New. Данный шрифт облегчает выравнивание колонок текста модели и особенно стандартного отчета, так как все символы этого шрифта имеют одинаковую ширину. Однако этот шрифт можно изменить. Изменим его, например, дли заголовков сегментов модели. Выберем File > Font (Файл > Шрифт) и получим окно установки шрифта. Установим Times New Roman, жирный, 10 (рис. 6).

Рисунок 6 - Окно установки шрифта

Для набора второй строки изменим шрифт жирный на курсив жирный. После набора этой строки вернемся к шрифту Courier New и приступим к вводу команды определения таблиц.

Введем имя VrReml. Для перехода к вводу TABLE следует воспользоваться клавишей [Tab]. Интервалы табуляции установлены по умолчанию. Но они также могут быть изменены в настройках объекта «Модель» на странице Function Key. (поле Model Tabstops).

Оставим интервалы табуляции без изменения и продолжим набор команды, определяющей таблицу с именем VrReml. Следующие две команды определения таблиц отличаются от первой команды только последними символами в именах. Поэтому можно воспользоваться копированием первой команды и последующим ее редактированием. Выделим строку и поместим ее в буфер обмена

Существуют три способа выделения текста. При первом способе можно поместить курсор в начале строки и «протащить» его вдоль страницы, удерживая левую клавишу мыши нажатой. Подсвеченный текст считается выделенным. При втором способе нужно щелкнуть мышью слева от первого символа V имени VrRem1. Затем, нажав и удерживая клавишу [Shift], щелкнуть мышью справа от последнего символа (5) Ml, 420, 180, 5. Третий способ состоит в копировании отдельного слова. Для этого нужно два раза щелкнуть мышью на слове.

Для помещения копии выделенного текста выберем Edit > Сору (Правка > Копировать). Теперь поместим курсор в начало следующей (пустой) строки и выберем Edit > Paste (Правка > Вставить).

Для вырезания, копирования и вставки выделенного фрагмента текста можно также использовать комбинацию клавиш [Ctrl]+[X], [Ctrl]+[C], [Ctrl]+[V].

После редактирования имен таблиц получим (рис. 7).

Рисунок 7 - Окно тестового редактора с командами определения таблиц

Можно таким же образом продолжить ввод остальных операторов модели. Однако мы воспользуемся окном Insert GPSS Blocks (Вставить блок GPSS) и окнами создания блоков.

Выберем Edit > Insert GPSS Blocks... (Правка > Вставить блок GPSS...). В окне (рис. 8) выберем GENERATE и щелкнем левой кнопкой мыши.

Рисунок 8 - Меню блоков GPSS

Появится окно создания блока GENERATE (рис. 9) с курсором в окошке операнда А. Введем 600. Для перехода в окошко операнда В нажмем клавишу [Tab] и затем введем 300. Далее последовательным нажатием клавиши [Tab] либо мышью переведем курсор в окошко Comment. Введем комментарий: Источник СС первого типа (рис. 9).

Рисунок 9 - Окно создания блока GENERATE (пустое)

Рисунок 10 - Окно создания блока GENERATE (заполненное)

Теперь нужно нажать ОК. В модели появится оператор

GENERATE600,300; Источник СС первого типа

Продолжим ввод операторов модели и получим (рис. 11).

Рисунок 11 - Фрагмент модели примера 1 в окне текстового редактора

Для внесения изменений в текст используются и другие опции меню Edit (Правка). Для отмены неверно сделанного изменения, т. е. возвращения файла к предыдущему состоянию, используется пункт меню Undo (Отмена) ([Ctrl]+[Z]). Команда Delete Line (Удалить строку) ([Ctrl]+[D]) удаляет строку, на которой расположен курсор. Команда Insert Line (Вставить строку) ([Ctrl]+[I]) помещает новую строку ниже строки, на которой расположен курсор.

Рассмотрим команды меню Search (Поиск), которые также могут использоваться для редактирования текста. Команда Find > Replace (Найти > Заменить) и диалоговое окно Find Replace (рис. 12) подобны аналогичным в других текстовых редакторах.

Рисунок 12 - Диалоговое окно Find Replace

Для сохранения объекта «Модель» создадим папку МОДЕЛЬ. Далее выберем File > Save As... (Файл > Сохранить как...). В появившемся окне (рис. 13) вместо Untitled укажем Пример_1 и нажмем Сохранить ([Ctrl]+[S]). В последующем для открытия этой модели или какой-либо другой необходимо использовать команду File > Open (Файл > Открыть) ([Ctrl]+[O]).

Рисунок 13 - Диалоговое окно Save As... (Сохранить как...)

2.4 Создание объекта «Процесс моделирования»

Объект «Процесс моделирования» представляет собой оттранслированный объект «Модель». Для трансляции объекта «Модель» необходимо выбрать Command > Create Simulation (Команда > Создать процесс моделирования) ([Ctrl]+[Alt]+[S]). По этой команде транслятор GPSS проверяет модель на наличие синтаксических ошибок. При отсутствии синтаксических ошибок транслятор активизирует все интерактивные команды и окна для того, чтобы можно было следить за состоянием процесса моделирования и управления им.

Однако чаще всего синтаксические ошибки в объекте «Модель» имеются. Предположим, что есть они и в модели Пример_1. Пусть при вводе третьем строки вместо Table набрано Tale и, поскольку следующие две строки (четвертая и пятая) были введены посредством копирования, эта ошибка оказалась и в них. Вследствие ошибок объект «Процесс моделирования» не может быть создан. В окне JOURNAL (Журнал) транслятор выдаст список сообщении об ошибках трансляции (рис. 14).

Рисунок 14 - Окно JOURNAL со списком сообщений об ошибках трансляции

Для поиска ошибок и их исправления следует воспользоваться командой Search > Next Error (Поиск > Следующая ошибка) ([Ctrl]+[Alt]+[N]). При первом выполнении этой команды курсор мыши помещается в строке текста модели с ошибкой (рис. 15).

Рисунок 15 - Курсор мыши в строке текста модели с ошибкой

Ошибка исправляется и, поскольку ошибок три, то еще дважды применяется команда Search > Next Error. Следует иметь в виду, что помимо помещения курсора мыши в строку с ошибкой каждая ошибка при этом также описывается в строке состояния главного окна (см. рис. 15). Команда Search > Previous Error (Поиск > Предыдущая ошибка) ([Ctrl]+[Alt]+[P]) позволяет просмотреть список ошибок трансляции в тексте модели в обратном направлении.

После исправления ошибок повторно выполняется трансляция. Ее можно также выполнить командой Command > Retranslate (Команда > Повторная трансляция) ([Ctrl]+[Alt]+[R]). В случае отсутствия ошибок, обнаруживаемых транслятором, в окне JOURNAL появляется об этом сообщение (рис. 16).

Рисунок 16 - Окно JOURNAL с сообщением об отсутствии ошибок

Теперь можно запустить процесс моделирования. Для этого нужно выбрать Command > Start (Команда > Старт). Появится диалоговое окно (рис. 17), в котором имеется возможность заменить 1 на любое количество прогонов, например, на 100 или 100,NP (NP - стандартный отчет не выводится).

Рисунок 17 - Диалоговое окно команды Start

После нажатия ОК произойдет останов по ошибке выполнения и в окне JOURNAI будет выдано об этом сообщение (рис. 18).

Сообщение указывает, что транзакт пытается освободить ОКУ, которое не было им занято, т. е. в блоке RELEASE в данной модели нужно было указать Reml, а не Rem. При останове по ошибке транслятор не создает список ошибок выполнения, подобный списку ошибок трансляции. Поэтому использовать команду Search > Next Error нельзя. Строку с ошибкой нужно найти самостоятельно. Для этого следует воспользоваться командой Search

Рисунок 18 - Окно JOURNAL с сообщением об ошибке выполнения

> Go To Line… (Поиск >Перейти к строке…) ([Ctrl]+[Alt]+[G]). Номер строки, которую нужно найти, указан в сообщении об ошибке выполнения (см. рис. 18, Line 14).

Объект «Процесс моделирования» создан.

2.5 Отчеты

По окончании работы модели система автоматически создает отчет. Статистическая информация выводится только о тех объектах, которые присутствуют в модели. В общем же стандартный отчет содержит кроме общей характеристики модели следующие сведения:

o об именах объектов модели;

o блоках модели;

o устройствах;

o многоканальных устройствах;

o очередях;

o списках пользователя;

o статистических таблицах;

o матрицах;

o группах транзактов;

o числовых группах;

o логических переключателях;

o сохраняемых величинах;

o списке текущих событий;

o списке будущих событий.

Необходимость в выводе списков текущих и будущих событий определяет операнд D команды START. Если операнд D не равен нулю, списки выводятся.

Вывод отчета может быть заблокирован. Для этого в поле операнда В команды START необходимо записать NP. Создание стандартных отчетов можно также отключить, сняв флажок Create Standard Report (Создавать стандартные отчеты) на странице Reports (Отчеты) журнала настроек модели.

Каждому отчету присваивается имя. Это имя по умолчанию составляется из имени файла модели, порядкового номера процесса моделирования, созданною из этого файла, и номера отчета данного процесса моделирования. Нумерация отчета начинается с 1. У файлов с отчетами имеется расширение .qpr.

Например, Пример_1.1.1. qpr, Пример_1.1.2. qpr и т. д. При удалении некоторых отчетов их порядковые номера в сеансе работы будут непоследовательными.

Имя отчета, формируемое системой, пользователь изменить не может. Отчеты являются специально отформатированными файлами. Если возникает необходимость сохранить какой-либо отчет с именем пользователя, его нужно скопировать в буфер обмена, а из него -- в соответствующий файл. Любой отчет можно распечатать из окна Report (Отчет) с помощью команды File > Print (Файл > Печать) в главном меню.

Отчет может настраиваться. Откройте модель Пример_1. Выберите Edit > Settings (Правка > Настройки) Перейдите на страницу Reports (отчеты) (рис. 19). Вы увидите перечень объектов GPSS, данные о которых по умолчанию включаются в отчет. По желанию пользователя перечень объектов можно изменить, сняв или установив соответствующие флажки.

Рисунок 19 - Страница Reports (Отчеты) журнала настроек модели

Запустите процесс моделирования. По его завершению автоматически появляется окно Report (Отчет) (рис. 20). Окно Report (Отчет) предоставляет возможности редактирования текста, изменения шрифта, цвета текста и печати. Закройте окно отчета. Ответьте No (Нет) на вопрос о сохранении файла отчета.

Используйте команду RFPORT для получения отчета в момент времени, когда транзакт пытается войти в интересующий вас блок. Щелкните мышью в любом месте окна Journal (Журнал), которое вы не закрыли. Выберите сначала Command > CLEAR (Команда > CLEAR), потом Window > Simulation Window > Blocks Window (Окно > Окно процесса моделирования > Окно «Блоки»). В окне Blocks (Блоки) выберите блок TERMINATE (блок 21), затем нажмите кнопку Place (Поместить) на панели инструментов окна Blocks (Блоки). В блок 21 было помешено условие остановки. Выберите Command > START (Команда > СТАРТ).

Рисунок 20 - Окно Report (Отчет)

Вместо 1 наберите 100 и нажмите ОК. Процесс моделирования остановится и транзакт будет задержан в блоке 20 с меткой Metl. Выберите Command > Custom... (Команда > Выбрать...). Введите команду REPORT и нажмите ОК. Сразу же появится окно с отчетом для момента времени, в который было остановлено моделирование.

Контрольные вопросы

1. На решение каких задач моделирования ориентирован язык GPSS?

2. Что понимается под транзактом?

3. Перечислите основные функции управляющих операторов/блоков языка GPSS.

4. Перечислите основные группы объектов языка GPSS.

5. Синтаксис языка GPSS.

6. Блоки языка GPSS.

Содержание отчета и его форма

1. Форма отчета письменная.

2. Выполнить пример 1.

3. Продемонстрировать данную работу на ПК.

4. Ответить на контрольные вопросы.

Литература

1. Боев В. Моделирование систем. Инструментальные средства GPSS World. - Санкт-Петербург:BHV-Санкт-Петербург, 2004 г. - 368 стр.

2. Вентцель Е.С. Исследование операций.- М.: Сов.радио, 1972.

3. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Высш. шк., 1987.

4. Разработка САПР. Кн. 9. Имитационное моделирование: Практ. пособие / В.М.Черненький: Под ред. А.В. Петрова. М.: Высш. шк., 1990.

5. Советов Б.Я. Моделирование систем. Практикум: Учебное пособие для вузов/ Б.Я. Советов, С.А. Яковлев. - 2-е изд., перераб. и доп. - М.: Высш. шк., 2003. - 295 с.:ил.

6. Шрайбер Г.Дж. Моделирование на GPSS.- М.: Высш. шк., 1980.

Лабораторная работа № 2. «Изучение блоков динамической категории GPSS WORLD:GENERATE, TERMINATE, SEIZE, RELEASE, ADVANCE»

Цель работы: изучить работу блоков динамической категории GPSS WORLD: GENERATE, TERMINATE, SEIZE, RELEASE, ADVANCE.

План выполнения работы:

1) зарегистрируйтесь в системе,

2) выполните практическую часть лабораторной работы,

3) выйдите из системы, сохранив листинги программы и отчета.

1. Практическая часть

Записать и запустить на выполнение программу для решения следующего примера.

Пример 1. Требования поступают в систему обслуживания через какое-то фиксированное время (7 единиц времени). Обработка (обслуживание) каждого требования занимает также некоторое фиксированное время (5 единиц времени). После обработки требования покидают систему. Произвести обработку 100 требований. В качестве единицы времени принять одну минуту.

Единицу времени назначает пользователь по своему усмотрению или по условию задачи. Система GPSS WORLD будет производить моделирование относительно тех значений единиц времени, которые задает пользователь.

GENERATE 7; Генерация транзактов каждые 7 мин.

SEIZE 1

ADVANCE 5

RELEASE 1

TERMINATE 1; Уничтожение транзактов

START 100

Программа 1.

В приводимой программе 1 транзакты (требования) генерируются блоком GENERATE каждые 7 мин., проходят через устройство под номером 1, задерживаются на 5 мин и покидают (освобождают) устройство 1. Захват и освобождение устройства осуществляются блоками SEIZE и RELEASE. Задержка транзактов во времени происходит в блоке ADVANCE. Вывод транзактов производит блок TERMINATE. Оператор START начинает процесс моделирования для указанного числа счетчика завершений.

Приведем некоторые общие правила оформления программ.

Во-первых, после написания программы необходимо перед запуском на выполнение сохранить её как файл с расширением gps и именем, состоящим из букв и цифр длиной до 20 символов. Допускается применять символы только латинского алфавита.

Во-вторых, в рабочем окне может быть использовано не более 255 позиций, начиная с левого края. Визуальный контроль для данной строки и позиции (столбца) установлен в нижнем левом углу рабочего окна.

В-третьих, комментарии пишутся после знака точки с запятой (;) в любом месте программы или после символа звездочка (*), которая должна быть в первой позиции рабочего окна.

Очень часто процесс поступления транзактов в систему и процесс обработки подчиняется по закону, равномерно распределенному в заданном интервале. Например, программа 1 может быть приведена к виду, когда поступление транзактов и их обработка осуществляется по равномерному закону в заданных интервалах, например, от 5 до 9 мин. и от 3 до 7 мин. соответственно. Говорят еще, что поступление требований подчиняется равномерному закону с интервалом 72 мин., а обработка -- равномерному закону со временем обработки 52 мин. Программа, реализующая равномерный закон обслуживания, приводится как программа 2.

GENERATE 7,2; Генерация транзактов из интервала(5,9) SEIZE 1 ADVANCE 5,2

RELEASE 1

TERMINATE 1; Уничтожение транзактов

START 100

Программа 2.

При равномерном законе поступления транзактов и том же законе обслуживания операнд поля <B> в блоках GENERATE и ADVANCE квалифицируется как модификатор-интервал.

Формат описания блока GENERATE имеет вид:

GENERATE <А>,<В>

В приведенном описании использованы символы "<" и ">", которые образуют так называемые поля А и В. Значения полей называют также операндами. Соответственно, поле <A> равно 7, а поле <B> равно 2 для программы 2. Операнды полей <A> и <В> есть постоянные числа. Это означает, что транзакты генерируются случайным образом в интервале времени от (7-2=5) до (7+2=9) в соответствии с равномерным законом. Если поле <B> отсутствует (как для программы1), то генерация транзактов происходит через интервалы времени, указанные в поле <A> (т.е. через 7 условных единиц времени -- 7 мин.). Соответствующее назначение полей применяется и для блока ADVANCE (задержка транзактов).

Формат описания блока ADVANCE имеет вид:

ADVANCE <A>,<B>

Блок ADVANCE моделирует задержку вошедшего в него транзакта в течение определенного интервала. Для программы 2 временная задержка транзактов определяется как 52 условных единицы, распределенных по равномерному закону. Поле <A> соответствует числу 5, а поле <B> -- числу 2. В общем случае время задержки является случайным числом, распределенным равномерно на интервале времени от (<A>-<B>) до (<A>+<B>). Разница между числом поля <A> и числом поля <B> не должна быть отрицательна.

Задержка продвижения транзактов на время, указанное в полях блока ADVANCE, происходит, как правило, в устройствах, которые используются при моделировании работы различного вида оборудования единичной емкости. С устройством под номером 1 в рассматриваемых программах связаны блоки SEIZE и RELEASE. Блоки SEIZE и RELEASE действуют совместно.

Формат описания блока SEIZE имеет вид:

SEIZE <A>

Блок SEIZE имеет только одно поле <A>, которое задает номер или имя устройства, присвоенное разработчиком программы. В нашем случае устройство имеет номер 1. Номер или имя устройства могут быть произвольными. При входе транзакта в блок SEIZE всегда проверяется (интерпретатором системы GPSS), занято ли устройство. Если устройство свободно, то оно занимается. Устройство, остается занятым до тех пор, пока занимающий его транзакт не войдет в соответствующий блок RELEASE.

Формат описания блока RELEASE имеет вид:

RELEASE <A>

Операнд поля <A> блока RELEASE должен быть таким же как и для соответствующего блока SEIZE. В нашем случае число 1 в поле <A> задает номер устройства, которое моделируется блоками SEIZE и RELEASE. Блок RELEASE предназначен для освобождения устройства тем транзактом, которым оно было занято.

Вывод из системы моделирования транзактов осуществляется блоком TERMINATE.

Формат описания блока TERMINATE имеет вид:

TERMINATE <A>

В поле <A> блока TERMINATE задается число единиц (транзактов), на которое этот блок изменяет содержимое счетчика завершений, определяющего момент окончания моделирования. В нашем случае операнд поля <A> блока TERMINATE это число 1. Число в поле <A> блока TERMINATE можно рассматривать как коэффициент, на который следует умножить число выводимых транзактов, чтобы получить задаваемое значение счетчика завершений. Если результат произведения точно не равен числу счетчика завершений, то число выводимых транзактов через блок TERMINATE устанавливается с избытком, ближайшим к числу счетчика завершений. Значение счетчика завершений или количество транзактов, которое необходимо пропустить через модель, задается оператором START.

Формат описания оператора START имеет вид:

START <A>

Поле <A> оператора START задает значение счетчика завершений, определяющего момент окончания процесса моделирования. В нашем случае операндом поля <A> является число 100. Оператор START используется также для инициирования начала моделирования.

Результаты моделирования gpss-программы оформляются в файле с расширением RPT(имя файла то же, что и для gpss-программы).

Запуск на выполнение программы осуществляется клавишей F9.

Просмотр результатов моделирования производится клавишей F7.

2. Задания для самостоятельной работы

Задание 1.

Для приведенных программ изменить параметры полей блоков и оператора START в соответствии со следующими значениями:

для блока GENERATE: 9, 11, 12, 6, 5, 4;

для блока ADVANCE: 14, 8, 10, 14, 7, 9.

Задать следующие имена, номера и метки устройства (относительно блоков SEIZE и RELEASE):

метка блока (для SEIZE): ustr1, ustr34, xyz, xyz23, www22, qqqqq13;

номер и имя устройства: 343, 11, 2, isa1, qwerty, qsaq55.

Задание 2.

Из рабочей среды GPSS перейти к окну устройств (alt+f) и к окну блоков (alt+b). В открываемых окнах применить пошаговое исполнение программы. Для детерминированного обслуживания отметить в файле стандартного отчета общее время моделирования, коэффициент использования устройства, среднее время обслуживания.

Задание 3. Написать программу для решения следующего примера. Поток требований поступает в систему на обслуживание со временем 52 минуты. Каждое требование проходит последовательно две стадии обработки: сначала в первом устройстве со временем 72 мин., затем во втором устройстве со временем 83 мин. Смоделировать процесс обработки 100 требований, рассчитать коэффициент загрузки и определить среднее время занятости каждого из устройств. Объяснить результаты моделирования по файлу стандартного отчета. Проанализировать работу GPSS-программы в окне устройств и в окне блоков.

Контрольные вопросы

1. Для чего предназначен блок GENERATE?

2. Для чего предназначен блок SEIZE?

3. Для чего предназначен блок RELEASE?

4. Для чего предназначен блок ADVANCE?

5. Что производит блок TERMINATE?

6. Для чего предназначен оператор START?

7. Перечислите общие правила оформления программ.

Содержание отчета и его форма

1. Форма отчета письменная.

2. Выполнить пример 1, задание 3, по требованию преподавателя задание 1 или задание 2, описать выполнение работы.

3. Продемонстрировать данную работу на ПК.

4. Ответить на контрольные вопросы.

Литература

1. Боев В. Моделирование систем. Инструментальные средства GPSS World. - Санкт-Петербург:BHV-Санкт-Петербург, 2004 г. - 368 стр.

2. Вентцель Е.С. Исследование операций.- М.: Сов.радио, 1972.

3. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Высш. шк., 1987.

4. Кузин Л.Т. Основы кибернетики: В 2 т.- М.: Энергия, 1979.

5. Разработка САПР. Кн. 9. Имитационное моделирование: Практ. пособие / В.М.Черненький: Под ред. А.В. Петрова. М.: Высш. шк., 1990.

6. Советов Б.Я. Моделирование систем. Практикум: Учебное пособие для вузов/ Б.Я. Советов, С.А. Яковлев. - 2-е изд., перераб. и доп. - М.: Высш. шк., 2003. - 295 с.:ил.

7. Шрайбер Г.Дж. Моделирование на GPSS.- М.: Высш. шк., 1980.

Лабораторная работа № 3. «Изучение блоков копирования, уничтожения, безусловной и условной адресации в GPSS World: блоки SPLIT, ASSEMBLE, TRANSFER»

Цель работы: изучить работу блоков копирования, уничтожения, безусловной и условной адресации в GPSS World: блоки SPLIT, ASSEMBLE, TRANSFER.

План выполнения работы:

1) зарегистрируйтесь в системе,

2) выполните практическую часть лабораторной работы,

3) выйдите из системы, сохранив листинги программы и отчета.

1. Практическая часть

Записать и запустить на выполнение программу для решения примера 1.

Пример 1. Рассмотрим пример, когда в операционную систему поступает и обрабатывается фиксированное число требований. Примем, что требования поступают в систему по равномерному закону из интервала времени, равного от 3 до 7 мин. Обработка требований осуществляется также по равномерному закону в интервале времени от 5 до 9 мин. Смоделировать работу системы при поступлении и обработке 100 требований.

Решение примера 1 приводится как программа 1.

GENERATE 5,2,,100; Генерация 100 транзактов

SEIZE 1

ADVANCE 7,2

RELEASE 1

TERMINATE 1; Уничтожение транзактов (вывод из системы)

START 100; Задание числа счетчика завершений

Программа 1.

Решение поставленной задачи с фиксированным числом входящих и обрабатываемых требований здесь достигается с помощью дополнительного поля блока GENERATE. В данном случае он имеет следующий формат записи:

GENERATE <A>,<B>,<>,<D>

В блоке GENERATE используются поля <A>,<B>,<С>,<D>, среди которых поля <С>,<D> новые. Поле <С> назначает временную задержку начала моделирования. Если оно пусто, то это означает, что задержка нулевая (как в нашей программе). В поле <D> указывается число генерируемых транзактов. В данном случае это число равно 100 и совпадает с числом счетчика завершений, указанным в операторе START.

Время работы системы зависит только от времени генерации требований (транзактов) и от времени их обработки. Моделирование системы будет происходить до тех пор, пока не сгенерируются и не выведутся 100 транзактов. Изменить количество обрабатываемых транзактов с фиксацией поступления и вывода в соответствии с заданным рядом чисел: 150, 200, 250, 300, 333, 678.

В файле стандартного отчета (нажатием клавиши F7) приводятся следующие статистики (результаты моделирования) (см. приложение 1):

Файл стандартного отчета программы 1.

GPSS World Simulation Report - Untitled Model 1.1.1

Friday, January 07.11. 2009 13:04:58

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 715.916 5 1 0

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 100 0 0

2 SEIZE 100 0 0

3 ADVANCE 100 0 0

4 RELEASE 100 0 0

5 TERMINATE 100 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

1 100 0.991 7.095 1 0 0 0 0 0

Сначала идет информационная строка системы GPSS World с указанием номера версии (V 2), серийного номера, даты, времени и страницы. Затем идет строка стандартного сообщения о начале моделирования (START_TIME), его окончании (END_TIME), количества используемых в программе блоков (BLOCKS), количества установленных устройств (FACILITIES), количества многоканальных устройств, для которых определяется заданная емкость накопителя (STORAGES). Далее приводятся назначенные номера блоков, которые определяются системой (под обозначением LOC), названия блоков (BLOCK_TIPE), количество транзактов. проходящих через соответствующий блок программы (ENTRY_COUNT), текущее количество транзактов, задержанных в блоке на момент окончания моделирования (CURRENT_COUNT), количество транзактов, ожидающих специальных условий для прохождения через данный блок (RETRY). Как видно, для данной программы количество транзактов, проходящих через блоки, равно 100. Все 100 транзактов, которые были сгенерированы блоком GENERATE, прошли через все блоки программы.

Работа устройства (FACILITY) под номером 1 оценивается следующими стандартными атрибутами: количество транзактов, прошедших через устройство, указывается в поле ENTRIES (в нашем случае это число 100), коэффициент использования в относительных единицах указывается в поле UTIL. (в нашем случае число 0.991, которое показывает ту часть периода моделирования, в течение которого устройство было занято), среднее время обработки или задержки одного транзакта в устройстве указывается в поле AVE._TIME (в нашем случае равно 7,095, которое также можно определять как среднее время занятости устройства), поле AVAILABLE определяет состояние готовности устройства в конце периода моделирования (оно равно 1, если устройство готово и равно 0 -- если не готово), поле OWNER (прямой перевод -- владелец) определяет номер последнего транзакта, занимавшего устройство (если устройство не занималось, то устанавливается 0), поле PEND (от английского PENDENT -- ожидающий решения) определяет количество транзактов, ожидающих устройство, находящееся в "режиме прерывания", поле INTER определяет количество транзактов, прерывающих устройство в данный момент, поле RETRY определяет количество транзактов, ожидающих специальных условий, зависящих от состояния объекта типа "устройство", поле DELAY (задержка) определяет количество транзактов, ожидающих занятия или освобождения устройства. В рассматриваемом примере последние пять полей равны нулю, так как система работает без каких-либо специальных условий и прерываний.

В системе GPSS World могут быть объекты типа "группа сообщений". Для сбора статистики таких объектов в файле стандартного отчета присутствуют следующие поля: поле XACT_GROUP определяет имя или номер группы сообщений, поле GROUP_SIZE определяет число транзактов, которое насчитывается в группе в конце моделирования, поле RETRY для группы сообщений определяет число транзактов, ожидающих наступления специальных условий, связанных с состоянием данной группы. В рассматриваемом примере какая-либо группа сообщений отсутствует и поэтому все поля нулевые.

Записать и запустить на выполнение программу для решения примера 2.

Изучение блоков SPLIT, ASSEMBLE, TRANSFER.

Блок SPLIT создает заданное количество копий от входящего в него транзакта. При этом входящий транзакт называют часто транзактом родителем, а копию -- транзактом потомком.

Блок ASSEMBLE объединяет определенное количество транзактов, после чего из него выходит один транзакт. а все остальные уничтожаются. В то же время этот блок выполняет скорее собирательную функцию, которая, бывает, необходима при моделировании процесса сбора деталей, сообщений, отдельных частей информации для полного представления объекта моделирования.

Блок TRANSFER относится к блокам, которые изменяют маршруты транзактов. Он является основным средством моделирующего алгоритма, позволяющим направить сообщение к любому блоку модели. Блок TRANSFER имеет несколько режимов работы. Сначала рассмотрим режим безусловного перехода.

Пример 2. В систему поступают пакеты требований по равномерному закону в интервале 52 мин. Обработка на первую сортировку поступивших требований производится также по равномерному закону в интервале 62 мин. Далее рассортированные требования проходят параллельную обработку с еще одним этапом сортировки. После обработки происходит сборка требований в один пакет, и выводятся из системы. Смоделировать работу системы по обработке 100 пакетов.

Решение примера 2 приводится как программа 2.

GENERATE 5,3,,100

SPLIT 1,CHAN1

SEIZE 1

ADVANCE 6,2

RELEASE 1

TRANSFER ,OUT3

CHAN1 SPLIT 1,CHAN2

SEIZE 2

ADVANCE 6,2

RELEASE 2

TRANSFER ,OUT3

CHAN2 SEIZE 3

ADVANCE 6,2

RELEASE 3

OUT3 ASSEMBLE 3

TERMINATE 1

START 100

Программа 2.

В приведенной программе блок TRANSFER используется в режиме безусловного перехода по метке к заданному блоку ASSEMBLE, который производит сборку трех компонент пакета требований и выводит один пакет. Таким образом осуществляется обработка и формирование 100 пакетов. Первый блок программы SPLIT создает одну копию и отправляет по метке chan1 на другой блок SPLIT, который также создает одну копию и отправляет на сборку в блок ASSEMBLE. Такое копирование транзактов моделирует сортировку информации каждого пакета. Входящий пакет рассортировывается на три части, которые проходят обработку в 3-х устройствах с одной и той же временной задержкой и потом вновь из них формируется один пакет. Формально в блоке ASSEMBLE собираются 300 частей, из которых собирается 100 пакетов.

Рассматриваемые блоки в программе имеют следующие форматы записи:

-- блоки SPLIT:

SPLIT 1, CHAN1

CHAN1 SPLIT 1,CHAN2

блоки TRANSFER:

TRANSFER ,OUT3

TRANSFER ,OUT3

блок ASSEMBLE:

OUT3 ASSEMBLE 3

Блок SPLIT копирует один транзакт, отправляет его по метке CHAN1 на второй блок SPLIT. При этом через первый блок SPLIT проходит транзакт-родитель на следующий по номеру блок (SEIZE 1). Второй блок SPLIT также копирует один транзакт, отправляет его по метке на 3-е устройство (120 chan2 seize 3), и пропускает транзакт на второе устройство. В блоке ASSEMBLE собираются транзакты после блоков TRANSFER (60 transfer ,out3 и 110 transfer ,out3) и блока RELEASE (140 release 3). За полный цикл моделирования в блоке ASSEMBLE собираются 300 транзактов и выходят из него 100 транзактов. Формально блок ASSEMBLE уничтожает 200 транзактов. Блоки TRANSFER используются в режиме безусловного перехода: поле <A> пусто, в поле <B> задается имя блока, к которому отправляются транзакты.

Задание к примеру 2: изменить в программе количество копий, создаваемых блоком SPLIT, в соответствии со следующим рядом чисел: 2, 3, 4, 5.

Записать и запустить на выполнение программу для решения примера 3.

Изучение блока TRANSFER в режиме статистического выбора. Повторный прогон программ с помощью оператора CLEAR.

Пример 3. В систему поступают требования по равномерному закону через 52 мин. Обработка требований осуществляется двумя приборами. Поступление требований на тот или иной прибор происходит с вероятностью 0.3 для одного прибора и 0.7 для другого прибора. Обслуживание требований каждым прибором происходит по равномерному закону со временем 72 мин. Произвести обработку 100 требований при одном и двух прогонах программы.

Решение примера 3 приводится как программа 3.

GENERATE 5,2,,100 TRANSFER .7,CHAN1,CHAN2

CHAN1 SEIZE 1

ADVANCE 7,2

RELEASE 1

TRANSFER ,EXIT

CHAN2 SEIZE 2

ADVANCE 7,2

RELEASE 2

EXIT TERMINATE 1

START 100

CLEAR

START 100

Программа 3.

Формат записи блока TRANSFER в режиме статистического выбора для данной программы следующий:

TRANSFER .7,CHAN1,CHAN2

В поле <A> записано число 0.7. Это означает, что из общего числа транзактов, входящих в блок TRANSFER, в среднем 0.7 будут пытаться войти в блок chan2. Остальные 0.3 от 100 будут пытаться войти в блок chan1. Числа 0.3 и 0.7 интерпретируются как вероятности. Передача транзактов в блоки происходит по меткам, которые записываются в поля <B> и <C>, соответственно.

Блок TRANSFER осуществляет безусловную передачу транзактов в блок TERMINATE.

Оператор CLEAR записывается в формате без параметров, т.е. без каких-либо полей с данными. Применение оператора CLEAR в имитационном моделировании позволяет проводить параллельные машинные эксперименты с моделями систем. Проведение параллельных экспериментов становится обязательным, если в системе присутствуют стохастические (вероятностные) процессы, для которых, как правило, требуется вычисление или определение средних операционных характеристик. После выполнения оператора CLEAR следует предусмотреть еще оператор задания счетчика завершений START (START 100). В приводимой программе первый прогон происходит при закомментированных операторах CLEAR и START 100. Для выполнения двух прогонах программы используются два оператора START 100 и один оператор CLEAR между ними.

Задание к примеру 3: задать равновероятное распределение транзактов по устройствам, а также: 0.4 на 1-е устройство, 0.6 на 2-е устройство, 0.8 на 1-е устройство, 0.2 на 2-е устройство. При этом в каждом случае произвести один прогон программы, два прогона, три прогона. Подсчитать средние статистические показатели работы устройств. Объяснить результаты моделирования по файлу стандартного отчета.

Записать и запустить на выполнение программу для решения примера 4.

Изучение работы блока TRANSFER в режиме BOTH.

Пример 4. Пусть в условиях примера 3 сообщения могут обрабатываться на одном из двух приборов; на первом -- за 53 мин., на втором -- 72 мин. Причем предпочтительнее обработка на первом приборе.

Решение примера приводится как программа 4.

GENERATE 5,2,,100 TRANSFER BOTH,CHAN1,CHAN2

CHAN1 SEIZE 1

ADVANCE 5,3

RELEASE 1

TRANSFER ,EXIT

CHAN2 SEIZE 2

ADVANCE 7,2

RELEASE 2

EXIT TERMINATE 1

START 100

Программа 4.

Формат записи блока TRANSFER в режиме BOTH для программы 4:

TRANSFER BOTH,CHAN1,CHAN2

В поле <A> блока TRANSFER стоит зарезервированное слово BOTH. В этом случае каждый входящий в блок TRANSFER транзакт пытается перейти к блоку, указанному в поле <B> (переход к устройству с меткой chan1). Если это сделать не удается, транзакт пытается перейти к блоку, указанному в поле <C> (переход к устройству с меткой chan2). Если транзакт не может перейти ни к одному из блоков, он остается в блоке TRANSFER и будет повторять в том порядке попытки перехода при каждом просмотре интерпретатором GPSS списка текущих событий, до тех пор, пока не сможет выйти из блока TRANSFER. Режим работы BOTH блока TRANSFER определяет предпочтительность выбора перехода сообщения к тому или иному объекту моделируемой системы.

Задание к примеру 4. В программе 4 произвести следующие изменения. Во-первых, отменить поле <D> в блоке GENERATE. Во-вторых, после блока GENERATE применит блок копирования транзактов для создания одной копии и передачи на обработку в третье и четвертое устройства с предпочтением обработки в третьем устройстве. Параметры третьего и четвертого устройств установить, как и для первого и второго устройств. Вывод обработанных транзактов после третьего и четвертого устройств сделать независимым от числа счетчика завершений (независимо от START 100). Объяснить результаты моделирования по файлу стандартного отчета.

Записать и запустить на выполнение программу для решения примера 5.

Изучение работы блока TRANSFER в режиме ALL.

Пример 5. В систему поступают требования по равномерному закону со временем 52 мин. Обработка требований может происходить одним из четырех приборов, для которых времена обслуживания составляют 172 мин., 122 мин., 92 мин., 32 мин., соответственно. Смоделировать работу системы по обработке 100 требований четырьмя приборами, когда вновь поступающее требование обслуживается любым свободным прибором.

Решение примера 5 приводится как программа 5.

GENERATE 5,2,,100 TRANSFER ALL,CHAN1,CHAN4,4CHAN1 SEIZE 1 ADVANCE 17,2 RELEASE 1 TRANSFER ,EXITCHAN2 SEIZE 2 ADVANCE 12,2

RELEASE 2

TRANSFER ,EXIT

CHAN3 SEIZE 3

ADVANCE 9,2

RELEASE 3

TRANSFER ,EXIT

CHAN4 SEIZE 4

ADVANCE 3,2

RELEASE 4

EXIT TERMINATE 1

START 100

Программа 5.

Блок TRANSFER в режиме ALL автоматически анализирует систему и выбирает свободное место по обслуживанию входящих требований. В этом режиме сообщение (транзакт) занимает первый блок из совокупности, заданной полями <B>, <C>, <D>. В приводимой программе 5 блок TRANSFER в режиме ALL имеет следующий формат записи:

TRANSFER ALL, CHAN1,CHAN4,4

В поле <A> блока TRANSFER задается режим зарезервированным словом ALL. В поле <В> задается метка первого анализируемого устройства, в поле <С> -- метка последнего устройства. В поле <D> задается число, кратное количеству блоков между каждым из анализируемых устройств. В моделирующей программе каждое устройство, начиная с первого, отделено друг от друга четырьмя блоками: seize, advance, release, transfer ,exit. Блок transfer ,exit работает в режиме безусловного перехода. В программе 5 время обработки каждого из устройств подобрано так, чтобы были задействованы все четыре устройства. Если же одно из устройств будет освобождаться быстрее остальных, то это устройство окажется наиболее загруженным. Различную загрузку приборов без изменения времени обработки можно задать с помощью блоков копирования транзактов SPLIT. Такой вариант работы системы представлен как программа 6.

GENERATE 5,2,,100 SPLIT 1,CHAN2 SPLIT 1,CHAN3 TRANSFER ALL,CHAN1,CHAN4,4

CHAN1 SEIZE 1

ADVANCE 17,2

RELEASE 1

TRANSFER ,EXIT

CHAN2 SEIZE 2

ADVANCE 12,2

RELEASE 2

TRANSFER ,EXIT

CHAN3 SEIZE 3

ADVANCE 9,2

RELEASE 3

TRANSFER ,EXIT

CHAN4 SEIZE 4

ADVANCE 3,2

RELEASE 4

EXIT TERMINATE 1

START 10

Программа 6.

Задание к примеру 5. Для программы 5 изменить работоспособность устройств в соответствии с предлагаемой группой чисел: 32, 92, 122, 172; 71, 71, 71, 71; 17, 12, 9, 3. Объяснить результаты моделирования по файлу стандартного отчета. Произвести также двойной прогон программ.

Для программы 6 изменить работоспособность устройств как: 71, 71, 71, 71; 71, 91, 121, 151; 151, 121, 91, 71. Объяснить результаты моделирования по файлу стандартного отчета. Произвести также двойной прогон программ.

Записать и запустить на выполнение программу для решения примера 6.

Изучение блока TRANSFER в режиме PICK.

Пример 6. Смоделировать обслуживание 100 заявок, которые поступают в систему каждые 52 мин. Обработка требований может осуществляться четырьмя приборами с равной вероятностью и соответственно со временами 122 мин., 92 мин., 72 мин., 132 мин.

Решение примера 6 представлено как программа 7.

Табл.

GENERATE 5,2,,100 TRANSFER PICK,3,6 TRANSFER ,CHAN1 TRANSFER ,CHAN2 TRANSFER ,CHAN3 TRANSFER ,CHAN4;

Сегмент моделирования 1 прибора обслуживания

CHAN1 SEIZE 1;

ADVANCE 12,2

RELEASE 1

TRANSFER ,EXIT;

Сегмент моделирования 2 прибора обслуживания

CHAN2 SEIZE 2;

ADVANCE 9,2

RELEASE 2

TRANSFER ,EXIT;

Сегмент моделирования 3 прибора обслуживания

CHAN3 SEIZE 3;

ADVANCE 7,2

RELEASE 3

TRANSFER ,EXIT;

Сегмент моделирования 4 прибора обслуживания

CHAN4 SEIZE 4;

ADVANCE 13,2

RELEASE 4;

Сегмент задания времени моделирования

EXIT TERMINATE 1

START 100

Программа 7.

Формат записи блока TRANSFER в режиме PICK в программе имеет следующий вид:

TRANSFER PICK,3,6

В поле <A> стоит зарезервированное слово PICK. В этом режиме блок TRANSFER случайным образом с равной вероятностью отправляет транзакт в один из блоков, которые составляют ряд от начального блока, указанного в поле <B>, до блока, указанного в поле <C>. Если блок поля <B> обозначить как N, а блок поля <C> как М, то вероятность отправления транзакта на один из блоков с номерами n, n+1, n+2, ,m определяется как 1/(m-n)+1. Для программы 7 эта вероятность равна Некоторая ограниченность применения блока TRANSFER в режиме PICK может быть обусловлена необходимостью расположения принимающих блоков в строгой последовательности друг за другом. Но, как видно из программы 7, с помощью блока TRANSFER в режиме безусловного перехода можно производить распределение транзактов в любую точку модели (к любому блоку).

Задание к примеру 6. Для программы 7 последовательно для каждого из трех устройств запрограммировать вывод транзактов без учета счетчика завершений (START 100). То же самое проделать при отсутствии поля <D> блока GENERATE. Объяснить результаты моделирования по файлу стандартного отчета.

Контрольные вопросы

1. Какие статистики (результаты моделирования) приводятся в файле стандартного отчета?

2. Принцип работы блоков SPLIT, ASSEMBLE, TRANSFER.

3. Как работает блок TRANSFER в режиме статистического выбора?

4. Как работает блок TRANSFER в режиме BOTH?

5. Как работает блок TRANSFER в режиме ALL?

6. Как работает блок TRANSFER в режиме PICK?

Содержание отчета и его форма

1. Форма отчета письменная.

2. Выполнить примеры 1-6 (задания к примерам выполняется по требованию преподавателя).

3. Продемонстрировать данную работу на ПК.

4. Ответить на контрольные вопросы.

Литература

1. Боев В. Моделирование систем. Инструментальные средства GPSS World. - Санкт-Петербург:BHV-Санкт-Петербург, 2004 г. - 368 стр.

2. Вентцель Е.С. Исследование операций.- М.: Сов.радио, 1972.

3. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Высш. шк., 1987.

4. Кузин Л.Т. Основы кибернетики: В 2 т.- М.: Энергия, 1979.

5. Разработка САПР. Кн. 9. Имитационное моделирование: Практ. пособие / В.М.Черненький: Под ред. А.В. Петрова. М.: Высш. шк., 1990.

6. Советов Б.Я. Моделирование систем. Практикум: Учебное пособие для вузов/ Б.Я. Советов, С.А. Яковлев. - 2-е изд., перераб. и доп. - М.: Высш. шк., 2003. - 295 с.:ил.

7. Шрайбер Г.Дж. Моделирование на GPSS.- М.: Высш. шк., 1980.

Лабораторная работа № 4. «Системы с разнородными потоками событий. Статистика очередей. Цикличная обработка»

Цель работы: изучить блоки аппаратной категории: PREEMPT, RETURN. Моделировать системы с очередями: блоки QUEUE, DEPART. Моделировать процессы с циклической обработкой требований: блоки ASSIGN, LOOP.

План выполнения работы:

1) зарегистрируйтесь в системе,

2) выполните практическую часть лабораторной работы,

3) выйдите из системы, сохранив листинги программы и отчета.

1. Теоретическая часть

Блоки PREEMPT и RETURN относятся к аппаратной категории и к группе устройств. Эти блоки работают в паре. Блок PREEMPT -- это блок захвата прибора (устройства). Он переводит устройство в прерванное состояние. Блок RETURN -- блок возврата захваченного прибора. При вводе транзакта в блок RETURN снимается прерывание с устройства, которое было осуществлено тем же транзактом, который вызвал прерывание.

Блок ASSIGN является основным средством для задания значений параметров транзактов. Параметры транзактов принимают значения из множества целых чисел. Каждый транзакт может иметь один или более параметров. Параметры транзактов применяются для их различия в потоке сообщений, проходящих через модель. Номера параметров используются для ссылок на значения, присвоенные параметрам. В общем случае интерпретация смысла параметра произвольна и обычно задается разработчиком модели. В системе GPSS/PC допустимо для каждого транзакта назначать свыше 1000 параметров. Блок ASSIGN заменяет, увеличивает или уменьшает текущее значение параметра сообщения (транзакта) на заданное значение.

Блок LOOP используется для организации циклов, т.е. для управления числом повторений определенной последовательности блоков в модели. В поле <A> блока задается параметр, который используется в качестве счетчика цикла. Как правило, блок LOOP применяется в паре с блоком ASSIGN.

Оператор EQU предназначен для присвоения числовых значений именам, используемым в модели. Назначение числовых значений может происходить при выполнении каких-либо выражений, задании стандартных числовых атрибутах и т.д. Результат вычисления выражения преобразуется к целому виду.

2. Практическая часть

Записать и запустить на выполнение программу для решения примера 1.

Изучение процессов циклической обработки требований.

Пример 1. Пусть каждое требование проходит 5 циклов обработки на приборе со временем 31 мин. по равномерному закону. Входной поток требований подчиняется равномерному закону со временем 52 мин. Смоделировать процесс обработки ровно 100 требований.

Решение примера 1 приводится как программа 1.

********************************************************

MET1 EQU sqr(25)

MET2 EQU (sqr(9)+2^2)

*********************************************************

GENERATE 5,2,,100; Генерация 100 транзактов

ASSIGN 13,MET1

SEIZE 1

CYCL5 ADVANCE MET2,2

LOOP 13,CYCL5

RELEASE 1

TERMINATE 1 Уничтожение транзактов (вывод из системы)

**********************************************************

START 100; Задание числа счетчика завершений

Программа 1.

В данном примере организация пятикратного цикла обработки осуществляется блоками ASSIGN и LOOP. Обращение к заданным числовым значениям (5 и 7) производится через метки MET1, MET2 посредством оператора EQU.

Формат записи блока ASSIGN:

ASSIGN 13,МЕТ1

В поле <A> задан параметр транзакта под номером 13 (взят произвольно). Этому параметру сопоставляется число 5, которое переопределяется через метку МЕТ1 поля <B>. Значение поля <B> присваивается параметру, номер которого задается в поле <A>. Задание числа 5 осуществляется оператором EQU.

Формат записи оператора EQU:

МЕТ1 EQU SQR(25)

Метка МЕТ1 -- это имя в поле метки оператора. В поле <A> оператора вычисляется выражение:

МЕТ2 EQU (SQR(9)+2^2)

Оператор EQU с меткой МЕТ2 в поле <A> вычисляет выражение:

Обращение к метке МЕТ1 задает число 5. Обращение к метке МЕТ2 задает число 7.

Формат записи блока LOOP:

LOOP 13, CYCL5

В поле <A> задан номер параметра (такой же, как и в поле <A> парного блока ASSIGN), определяющего число циклов. В поле <B> задан по метке блок, на который переходит транзакт, если параметр, на который сделана ссылка в поле <A>, не равен нулю. Прохождение транзактом одного цикла уменьшает значение поля <A> на единицу. Когда значение параметра в поле <A> становится равным нулю, то транзакт переходит к следующему по номеру блоку (в рассматриваемом случае к блоку RELEASE). Начало цикла начинается с блока ADVANCE с меткой CYCL5, окончание цикла -- с блока LOOP. Если транзакт входит в блок LOOP со значением параметра, равным n, то этот транзакт войдет в блок LOOP n раз и вернется к началу этого цикла (n-1) раз.

В файле стандартного отчета (нажатием клавиши F7) приводятся следующие статистики (результаты моделирования):

...

Подобные документы

  • Структурная схема, классификация устройств СМО и анализ динамики ее функционирования. Формализация модели СМО средствами GPSS World. Модификация имитационной модели. Реализация модельных экспериментов. Имитационное моделирование СМО в среде GPSS World.

    курсовая работа [504,6 K], добавлен 14.12.2012

  • Построение модели вычислительного центра: постановка задачи, выбор метода моделирования и составление моделирующей программы на языке GPSS. Исследование трехфазной одноканальной системы и определение значений параметров и размеров буферных устройств.

    курсовая работа [276,8 K], добавлен 25.06.2011

  • Моделирующие программы системы GPSS WORLD. Блоки и транзакты - типы объектов системы. Событийный метод моделирования. Проект моделирования работы в библиотеке, его анализ с помощью среды GPSS WORLD. Описание процесса и метода моделирование системы.

    курсовая работа [227,4 K], добавлен 16.08.2012

  • Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.

    курсовая работа [291,3 K], добавлен 11.01.2012

  • Создание имитационной модели экономической системы на языке программирования GPSS. Определение возможных мест появления очередей, количества необслуженых заявок. Выявление причин возникновения неблагоприятных факторов, усовершенствование системы.

    курсовая работа [32,9 K], добавлен 13.12.2010

  • Основные сведение о системе моделирования GPSS и блоки, используемые при моделировании одноканальных и многоканальных систем массового обслуживания. Разработка модели работы ремонтного подразделения в течение суток с использованием программы GPSS World.

    курсовая работа [36,4 K], добавлен 11.02.2015

  • Разработка концептуальной модели системы обработки информации для узла коммутации сообщений. Построение структурной и функциональной блок-схем системы. Программирование модели на языке GPSS/PC. Анализ экономической эффективности результатов моделирования.

    курсовая работа [802,8 K], добавлен 04.03.2015

  • Принципы работы в системе имитационного моделирования GPSS World. Анализ количества транзактов, вошедших в блок с момента последней трансляции. Характеристика команд Window/Simulation, Window/Block, Command/Creat Simulation. Образец системы Sample 1.

    лабораторная работа [343,3 K], добавлен 29.03.2015

  • Процессы функционирования различных систем и сетей связи как стохастических, динамических, дискретно-непрерывных математических моделей. Блоки языка GPSS, использованные в программе. Общая информация о результатах работы модели, о группах транзактов.

    курсовая работа [27,3 K], добавлен 18.01.2010

  • Актуальность и важность технической защиты информации, нормативные документы. Анализ деятельности ООО "Технология защиты", информационные потоки. Обоснование угроз по техническим каналам. Разработка системы управления информационной безопасности.

    дипломная работа [771,4 K], добавлен 13.06.2012

  • Процесс моделирования имитационной модели функционирования класса персональных компьютеров на языке GPSS World. Поиск линейной зависимости и оценка полученного уравнения. Отчет по результатам работы имитационной модели. Листинг разработанной программы.

    курсовая работа [49,2 K], добавлен 07.09.2012

  • Количественная мера измерения информации: бит, байт. Аппаратная часть ПК: основные блоки; монитор; клавиатура. Характеристика устройств ввода информации. Системное программное обеспечение. Общая характеристика Windows 95. Защита от компьютерных вирусов.

    шпаргалка [776,3 K], добавлен 06.06.2009

  • Угрозы в сфере информационного обеспечения. Цели и задач и создания комплексной системы защиты информации на предприятии. Применение скрытия и уничтожения информации, дезинформации противника, легендирования. Анализ функций системы защиты предприятия.

    курсовая работа [60,7 K], добавлен 23.06.2012

  • Современные системы обработки данных. Автоматизированная информационная система. Понятие информационной и динамической модели. Появление множества разнотипных систем, отличающихся принципами построения и заложенными в них правилами обработки информации.

    презентация [36,0 K], добавлен 14.10.2013

  • Программно-аппаратные средства защиты компьютера от несанкционированного доступа. Электронный замок "Соболь". Система защиты информации SecretNet. Дактилоскопические устройства защиты информации. Управление открытыми ключами, удостоверяющие центры.

    курсовая работа [3,1 M], добавлен 23.08.2016

  • Общий вид вычислительной системы. Начальная последовательность действий. Элементы организации основных блоков ЭВМ. Архитектурная организация процессора ЭВМ. Организация систем адресации и команд ЭВМ. Система внешних устройств. Средства вывода информации.

    курсовая работа [39,5 K], добавлен 28.01.2012

  • Проектирование и реализация модели, которая будет имитировать автозаправочную станцию с постоплатой. Подбор оптимальных параметров модели с учетом требований к сети массового обслуживания. Разработка модели в среде имитационного моделирования GPSS World.

    контрольная работа [279,5 K], добавлен 16.03.2014

  • Технологическая схема системы. Структурно-функциональная модель обработки сообщений системой управления технологическим процессом. Поток сообщений в общем виде. Моделирование в среде GPSS и в среде C#, их результаты. Алгоритм имитационного моделирования.

    курсовая работа [1,3 M], добавлен 14.12.2012

  • Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.

    курсовая работа [214,2 K], добавлен 23.06.2011

  • Особенности моделирования работы сборочного участка цеха, которая состоит из трех этапов: сборка, предварительная обработка и регулировка деталей. Понятие среды имитационного моделирования GPSS World - программного комплекса, работающего под Windows.

    контрольная работа [39,5 K], добавлен 04.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.