Разработка программно-методических средств для организации и проведения цикла лабораторных работ по теме: "Создание имитационных моделей и изучение их свойств и характеристик"

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

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

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

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

Основные операторы

Оператор языка GPSS содержит 4 поля: метка (необязательное поле), операция, операнды, комментарий (необязательное поле). Комментарием считаются все символы, следующие после символа «;». Количество операндов может достигать 9, операнды обозначаются буквами A, B, C, D, E, F, G, H, I. Часть операндов может быть опущена (берутся по умолчанию), если опускаются не последние операнды (A, B, D, E), запятые сохраняются.

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

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

RELEASE A (освободить). A - имя устройства. Устройство должно быть освобождено тем же транзактом, который его занял.

PREEMT A, B, C, D, E (захватить). A - имя устройства. B - возможность захвата занятого устройства. Если B=PR, возможна любая глубина прерываний на основе абсолютных приоритетов. По умолчанию приоритеты не учитываются, прерывать обслуживание прерывающего транзакта нельзя. C - метка оператора, к которому переходит прерванный транзакт, D - номер параметра, в который запишется остаток времени, оставшегося до конца обслуживания, E - признак снятия с обслуживания прерванного транзакта. Если E=RE, транзакт снимается. По умолчанию прерванный транзакт дообслуживается после обслуживания прерывающего.

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

STORAGE A1, B1/A2, B2/…/AN, BN (объявление многоканальных устройств). Ai - имя i-го устройства, Bi - объем i-го устройства.

ENTER A, B (войти в многоканальное устройство A, занять в нем B ячеек). По умолчанию B=1. Если в многоканальном устройстве нет требуемого количества ячеек, транзакт задерживается на входе оператора.

LEAVE A, B (выйти, т.е. освободить в многоканальном устройстве A и B ячеек). Освобождать можно любым транзактом, не обязательно тем, который занимал!

GENERATE A, B, C, D, E, F, G, H, I (генерировать транзакты).

A - среднее значение интервала; B - модификатор разброса или модификатор функции (GENE 10, 5 - интервал от 5 до 15 единиц равновероятен, GENE 10, 1 - средний интервал 10 единиц, распределение интервалов - по функции FN 1); C - время появления первого транзакта (по умолчанию 1); D - число выработанных транзактов (по умолчанию ); E - приоритет (по умолчанию 0); FчI - число и тип параметров (10PF, 7PH, ...) (по умолчанию 12 PH). При генерации транзактов значения всех параметров нулевые.

TERMINATE A (завершить). Оператор ликвидирует вошедший в него транзакт, вычитает A единиц из счетчика завершений. По умолчанию A=0.

ADVANCE A, B (задержать). A - среднее время задержки; B - модификатор разброса или модификатор функции. Оператор может впускать сколько угодно транзактов.

TRANSFER A, B, C (передать). A - режим выбора; B и C - метки операторов, к которым происходит переход. Основные варианты использования оператора следующие:

A=BOTH - транзакт повторяет попытки войти сначала в оператор B, а в случае неудачи - в оператор C и т.д. до тех пор, пока какой-либо из операторов его не впустит.

A=.XXX - транзакт случайным образом, с вероятностью 0.XXX передается в оператор C, с вероятностью 1-0.XXX - в оператор B (или в следующий за TRANSFER по порядку оператор, если операнд B опущен).

Если опущены операнды A и C, транзакт безусловно передается в оператор, метка которого задана операндом B.

TEST X A, B, C (проверить).X - оператор отношения. Транзакт переходит в следующий по порядку оператор, если выполняется условие A X B, в противном случае пересылается на оператор C (по умолчанию остается на входе оператора TEST).

Вспомогательный оператор отношения X(E, G, L, GE, LE, NE) имеет соответственно смысл "равно", "больше", "меньше", "больше или равно", "меньше или равно", "не равно". X можно писать после TEST без пробела.

GATE X A,B (впустить). Транзакт переходит в следующий блок, если для оборудования с именем A выполняется логическое условие X, в противном случае пересылается на оператор B (по умолчанию остается на входе оператора GATE). Возможные виды условий:

Для устройств

Для памяти

Для переключателей

NU - свободно

U - занято

I - обслуживает прерывания

NI - работает без прерываний

SE - пуста

SNE - не пуста

SF - полна

SNF - не полна

LS - включен

LR - выключен

QUEUE A, B (отметить вход в очередь).A - имя очереди, B - количество занимаемых единиц (по умолчанию B=1).

DEPART A, B (отметить выход из очереди). Смысл операндов тот же, что для QUEUE. Оператор ставится после операторов SEIZE, PREEMT, ENTER.

PRIORITY A, B (назначить приоритет). A - назначаемый транзакту приоритет. B=BUFFER означает, что транзакт должен остановиться после изменения приоритета.

ИМЯ FUNCTION RNj, CK

X1,Y1/X2,Y2/…/XK,YK

Описание непрерывной случайной функции .

Здесь j - номер используемого датчика случайных чисел генерирующий числа с плавающей точкой в диапазоне [0,1], K - количество точек, по которым выполняется кусочно-линейная аппроксимация функции.

ИМЯ FUNCTION RNj, DK

X1,Y1/X2,Y2/…/XK,YK

Описание дискретной случайной функции.

Значения X должны лежать в пределах (0,1) и быть записаны в порядке увеличения.

Пример. Случайная дискретная функция RAND, описанная следующим образом:

RAND FUNCTION RN1, D3

.5,2/.8,1/1,4

принимает значение 2 с вероятностью 0.5, 1 - с вероятностью 0.3, 4 - c вероятностью 0, 2.

Основные управляющие операторы (карты)

START A, B, C, D (старт). Оператор уведомляет интерпретатор, что ввод программы закончен, можно начинать моделирование. A - начальное значение кода в счетчике завершений ( TG1); B=NP - признак подавления стандартной печати (по умолчанию распечатывается статистика в конце счета); C - счетчик снимков, показывающий, через какой интервал уменьшения TG1 надо распечатывать промежуточные результаты (по умолчанию не печатать); D=1 - признак распечатки списков в конце моделирования.

CLEAR XLj, XFj, XHj, HBj, MXj, MLj, MBj (очистить). Обнуляет все переменные модели, кроме указанных в нем ячеек и матриц ячеек, перед следующим прогоном модели с другими параметрами.

RESET Fj, Qj, Sj, CHj, TBj (сбросить). Сбрасываются вся статистика, кроме собранной для указанных в операторе устройств, очередей, памяти, списков пользователя, таблиц, и относительное время C1. Абсолютное время AC1 , ячейки, переключатели на этот оператор не реагируют, транзакты из модели не удаляются. Оператор служит для сброса искаженной переходным процеcсом статистики.

Краткое описание среды моделирования GPSS World

Для запуска приложения необходимо в меню установленных программ выбрать GPSS World Student Version.

После запуска приложения из строки меню выбрать File->New, из открывшегося списка выбрать Model и нажать Ok, при этом создастся новая модель и откроется поле ввода текста программы «Untitled Model 1.gps».

Для создания выполняемой модели необходимо из строки меню выбрать Command->Create Simulation, после этого если нет ошибок то сформируется журнал «Untitled Model 1.1.sim».

Если же в программе найдены ошибки, то они отображаются в данном журнале.

Для запуска программы необходимо из строки меню выбрать Command->START, в открывшемся диалоговом окне Start Command команде START задаются аргументы, после нажатия на Ok происходит выполнение программы и формирование отчета «Untitled Model 1.1.1.gpr».

Описание других команд в меню Command:

Retranslate (Перетранслировать) или нажатие комбинации клавиш Ctrl+Alt+R обеспечивает перетранслирование модели;

Repeat Last Command (Повторить последнюю команду) или нажатие комбинации клавиш Ctrl+Alt+L обеспечивает повторение выполнения последней команды;

CONDUCT (Управление) дает возможность проведения эксперимента;

STEP1 (Шаг 1) или нажатие комбинации клавиш Ctrl+Alt+1 обеспечивает пошаговое выполнение оттранслированной программы;

HALT (Останов) прерывает процесс моделирования;

CONTINUE (Продолжить) обеспечивает продолжение процесса моделирования;

CLEAR (Очистить) - возвращение моделирования в первоначальное состояние;

RESET (Сброс) - сброс статистики в начальное состояние;

SHOW … (Показать) вызывает диалоговое окно Show Command (Показать команду), которое обеспечивает возможность просмотра искомых параметров в окне JOURNAL;

Custom … (Пользователь) вызывает диалоговое окно Simulation Command

(Команда моделирования) для ввода команд управления пользователем во время моделирования.

Содержание стандартной распечатки результатов моделирования GPSS World

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

Листинг исходной программы содержит текст модели на языке GPSS, составленный пользователем и дополненный номерами операторов и блоков. В случае наличия ошибок в листинг включаются диагностические сообщения о них.

Таблица перекрестных ссылок формируется в случае использования в модели символических имен объектов GPSS PC, для которых определяются числовые значения.

В конец распечатки результатов работы включается листинг стандартной статистики по работе моделируемой системы, который содержит:

1) показания модельного (относительного и абсолютного) времени на момент завершения процесса моделирования;

2) статистику по использованию блоков;

3) статистику по всем видам аппаратных объектов модели.

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

Стандартный набор статистической информации о приборах включает следующие данные (по колонкам):

1) Имя (номер) прибора (FACILITY);

2) Общее число входов в прибор за время моделирования (ENTRIES);

3) Коэффициент использования в течение всего времени моделирования (UTIL.);

4) Среднее время пребывания транзакта в приборе (AVE._TIME);

5) Номер транзакта, занявшего прибор (AVAIL.);

6) Номер транзакта, захватившего прибор (OWNER).

Стандартный набор статистической информации об очередях включает следующие данные (по колонкам):

1) Имя (номер) очереди (QUEUE);

2) Максимальное содержимое очереди за время моделирования (MAX);

3) Текущее содержимое очереди (CONT.).

4) Общее число входов в очередь (ENTRIES);

5) Количество "нулевых" входов в очередь (ENTRIES 0);

6) Среднее содержимое очереди (AVE.CONT.);

7) Среднее время пребывания транзакта в очереди (AVE.TIME);

8) Среднее время пребывания без учета "нулевых" входов (AVE.(-0)).

Содержание стандартной распечатки для приборов, многоканальных устройств и очередей приведено в табл.2. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World Учебное пособие - Спб: БХВ-Петербург, 2004. - 43 с.

Таблица. 2. Содержание стандартной распечатки для приборов, многоканальных устройств и очередей

Распечатка для приборов

FACILITY

Имя (номер) прибора

ENTRIES

Общее число входов в прибор за время моделирования

UTIL.

Коэффициент использования в течение всего времени моделирования

AVE_TIME

Среднее время пребывания транзакта в приборе

AVAIL

Номер транзакта, занявшего прибор

OWNER

Номер транзакта, захватившего прибор

PEND

Количество прерванных в устройстве транзактов

INTER

Количество прерывающих устройство транзактов

RETRY

Количество транзактов, ожидающих специальных условий

DELAY

Количество транзактов, ожидающих занятия устройства

Распечатка для многоканальных устройств

STORAGE

Имя (номер) прибора

CAP.

Емкость многоканального устройства

REMAIN.

Текущее содержимое(в момент остановки моделирования)

MIN

Минимальное содержимое

MAX

Максимальное содержимое

ENTRIES

Общее число занятий приборов

AVL.

AVE.C.

Среднее содержимое

UTIL.

Средняя загрузка

RETRY

Количество транзактов, ожидающих специальных условий

DELAY

Количество транзактов, ожидающих занятия устройства

Распечатка для очередей

QUEUE

Имя (номер) очереди

MAX

Максимальное содержимое очереди за время моделирования

CONT.

Текущее содержимое очереди

ENTRIES

Общее число входов в очередь

ENTRIES(0)

Количество "нулевых" входов в очередь

AVE.CONT.

Среднее содержимое очереди

AVE.TIME

Среднее время пребывания транзакта в очереди

AVE.(-0)

Среднее время пребывания без учета "нулевых" входов

RETRY

Количество повторных входов

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

1. Назовите основные отличия GPSS World от его предыдущей версии GPSS PC.

2. Дайте краткую характеристику операторам GENERATE, TERMINATE и START, поясните назначение их операндов.

3. Перечислите команды в меню Command и опишите их назначение.

4. Расскажите о назначении операторов GATE и TEST, задании условий в приведенных операторах.

5. Опишите операторы, связанные с представленим модели аппаратного объекта типа «многоканальное устройство».

6. Расскажите о назначении и особенностях применения оператора TRANSFER.

7. Опишите работу управляющих карт RESET и CLEAR.

8. Расскажите о назначении оператора STORAGE.

9. Раскройте назначение операторов сбора статистической информации об очередях и особенности их применения.

10. Объясните значение полей в файле отчета.

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

Далее приведены методические указания и контрольные вопросы какими их увидит студент.

Типы данных

Арифметические целые переменные - VARIABLE

Пример:

SUM VARIABLE (P3 + P4)/5

Арифметические переменные с фиксированной точкой - FVARIABLE

Булевы переменные - ВVARIABLE

Вычислительные выражения

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

^ - Возведение в степень

# - Умножение

/ - Деление

\ - Целочисленное деление. Возвращает результат целочисленного деления А на B

@ - Целочисленный остаток. Возвращает целочисленный остаток от деления А на В

- - Вычитание

+ - Сложение

Вычисления выражений выполняются в такой последовательности:

^ - возведение в степень;

#, /, \ - умножение, деление, целочисленное деление;

@ - целочисленный остаток;

Некоторые полезные операторы

SAVEVALUE A,B,C - Модифицировать сохраняемое значение

ASSIGN A,B - Модифицировать параметр требования

EQU A,B - Определить эквивалентность

Catenate (Связать)- возвратить копию двух строк, объединенных в одну;

INITIAL A,B - Инициализировать

CLOSE - Закрыть поток данных

OPEN - Открыть поток данных

WRITE - Разместить текстовую строку в потоке данных

TABULATE A,B - Собрать табличные данные элемента

<Имя> TABLE A,B,C,D,E - Определить таблицу Кудрявцев Е. М. GPSS World. Основы имитационного моделирования различных систем. - М.: ДМК Пресс, 2004.- 56 с.

Стандартные числовые атрибуты (СЧА) GPSS

· P$ Текущее значение параметра формата полуслово или слово

· PR$1 Приоритет

· M$1 Транзитное время

· MP$ Параметрическое транзактное время

· XN$1 Номер транзакта

· N$ Счетчик входов в блок

· W$ Счетчик текущего содержимого блока

· V$ Арифметическая и логическая переменная

· FN$ Функции

· TB$ Среднее значение аргумента таблицы

· TC$ Счетчик входов в таблицу

· TD$ Среднее квадратическое отклонение аргумента

· XH$, X$ ,XF$ Текущее содержимое ячейки (формата полуслово-XH$, слово-XF$, X$)

· MH$(a,b) Элемент строки "а", столбца "b". Полуслово.

· MX$(a,b) Элемент строки "а", столбца "b". Полное слово.

· CA$ Среднее число элементов в списке

· CH$ Текущее число элементов в списке

· CM$ Максимальное число элементов в списке

· CC$ Общее число входов

· LR$ Ключ сброшен (логическое 1) или ключ установлен (логическое 0)

· Q$ Текущая длина очереди

· QA$ Средняя длина очереди

· QM$ Максимальная длина очереди

· QC$ Общее число входов

· QZ$ Количество нулевых входов

· QT$ Среднее время пребывания транзакта в очереди

· QX$ Среднее время пребывания транзакта в очереди без учета нулевых входов

· S$ Текущее содержимое памяти

· R$ Число свободных единиц памяти

· SR$ Коэффициент использования

· SA$ Среднее содержимое памяти

· SM$ Максимальное содержимое памяти

· SC$ Общее число входов

· ST$ Среднее время занятости единицы памяти

· SE$ Память пуста (логические 0 или 1)

· SNE$ Память не пуста (логические 0 или 1)

· SF$ Память заполнена(логические 0 или 1)

· SNF$ Память не заполнена (логические 0 или 1)

· F$ Состояние устройства (логические 0 или 1)

· FI$ Прибор находится в состоянии прерывания (логические 0 или 1)

· FNI$ Прибор не находится в состоянии прерывания (логические 0 или 1)

· FNU$ Прибор не используется (логические 0 или 1)

· FS$ Номер транзакта, занимающего прибор

· FP$ Номер прерывающего транзакта

· FR$ Коэффициент использования устройства

· FC$ Общее число входов

· FT$ Среднее время пребывания транзакта в устройстве

· AC$1 Абсолютное время

· C$1 Относительное время

· TG$1 Содержимое счетчика завершения

· RN$j Случайное число в интервале [0, 1], и используемое как аргумент функции, и случайное число в интервале [0, 999] в карте f[variable]

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

1. Какие типы переменных существую в языке GPSS World. Приведите описание.

2. Опишите последовательность вычисления выражений и их вид в GPSS World.

3. Опишите параметры выдаваемые очередью в отчете и приведите пример СЧА для их получения.

4. Опишите назначение параметра NP в операторе START.

5. Опишите назначение третьего параметра в операторах OPEN, WRITE и CLOSE.

6. Назовите хотя бы 5 законов распределения включенных в библиотеку GPSSW, какие из них вы использовали в лабораторной работе.

3. Алгоритмическая и программная части

3.1 Разработка алгоритмов

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

Для этого сначала разработаем графическое представление модели, а потом ее детальный алгоритм по которому будет составляться программа.

Так как GPSS World является специализированным языком, то есть языком имитационного моделирования, то для него неприменимы блоки, которые обычно используют при описании алгоритма в универсальных языках. Далее представим вид и описание блоков используемых в языке GPSS World (рис 2-6).

Алгоритмы решений представленных в этих работах задач будут нумероваться «Алгоритм 1.1», «Алгоритм 1.2», и.т.д.; и «Алгоритм 2.1», «Алгоритм 2.2» , и.т.д., соответственно. А их графическое представление как «Модель 1.1», «Модель 1.2», и.т.д.; и «Модель 2.1», «Модель 2.2» , и.т.д., соответственно. Где первая цифра номер лабораторной работы, а вторая ее порядковый номер в каждой из них.

Рисунок 2

Рисунок 3

Рисунок 4

Рисунок 5

Рисунок 6

Модель 1.1 приведен на рис. 7.

В данном задании необходимо разработать модель парикмахерскую с бесконечной очередью в которую приходят клиенты двух типов: которые хотят подстричься и которые хотят подстричься и побриться. Источники заявок (клиенты) обозначим как G1 и G2, соответственно. Общая очередь PARQ и два оборудования PAR1 и PAR2, то есть стрижка у парикмахера и бритьё у парикмахера.

Рисунок 7. Модель 1.1.

Алгоритм 1.1 приведен на рис. 8.

Далее разработаем детальный алгоритм программы осуществляющей моделирование. Сначала разработаем часть алгоритма отвечающую за стрижку клиентов желающих только стричься. Для генерирования заявок (клиентов) используем блок GENERATE с необходимыми расшифровка которых предложена ниже. После генерации заявки помещаем ее в очередь PARQ блоком QUEUE. После подхода очереди заявки помещаем ее в обслуживающее устройство PAR, и освобождаем ее из очереди PARQ блоком DEPART. В этом устройстве задерживаем заявку на время необходимое для стрижки, делаем это блоком ADVANCE с соответствующими параметрами. По истечении времени задержки освобождаем устройство PAR от этой заявки блоком RELEASE и завершаем эту часть алгоритма блоком TERMINATE с параметром 0. Часть алгоритма отвечающая за обслуживание клиентов желающих подстричься и побриться разрабатывается аналогично за исключением того что в нем будет еще один блок ADVANCE который задержит клиента на время бритья.

Модели и алгоритмы для других заданий разрабатывались аналогично.

Рисунок 8. Алгоритм 1.1.

Где

X1, X2 - Интервалы времени прихода клиентов для стрижки

X3, X4 - Время стрижки

X5, X6 - Интервалы времени прихода клиентов для стрижки и бритья

X7, X8 - Время бритья

Модель 1.2 приведен на рис. 9.

язык моделирование программный имитационный

Рисунок 9. Модель 1.2.

Алгоритм 1.2 приведен на рис.10.

Рисунок 10. Алгоритм 1.2.

Где

X1 - количество сборщиков

X2, X3 - время сборки

X4, X5 - время обжига

Модель 1.3 приведен на рис. 11.

Рисунок 11. Модель 1.3.

Алгоритм 1.3 приведен на рис. 12.

Рисунок 12. Алгоритм 1.3.

Где

X1, X2 - Интервал прибытия судов первого типа

X3, X4 - Время буксирования до причала судов первого типа

X5, X6 - Время погрузки-разгрузки судов первого типа

X7, X8 - Время буксирования от причала судов первого типа

X9, X10 - Интервал прибытия судов второго типа

X11, X12 - Время буксирования до причала судов второго типа

X13, X14 - Время погрузки-разгрузки судов второго типа

X15, X16 - Время буксирования от причала судов второго типа

Модель 2.1 приведен на рис. 13.

Рисунок 13. Модель 2.1.

Алгоритм 2.1 приведен на рис. 14.

Рисунок 14. Алгоритм 2.1.

Где

X1, X2 - Время поступления деталей на обработку

X3, X4 - Время выполнения операции 1-м рабочим

X5, X6 - Время выполнения операции 2-м рабочим

X7, X8 - Время выполнения операции 3-м рабочим

Модель 2.2 приведен на рис. 15.

Рисунок 15. Модель 2.2.

Алгоритм 2.2 приведен на рис. 16 и рис 17.

Рисунок 16. Алгоритм 2.2 часть 1.

Рисунок 17. Алгоритм 2.2 часть 2.

Где

X1, X2 - Интервалы времени между поступлениями изделий первого типа на обработку

X3, X4 - Время изготовления изделия первого потока первым видом оборудования

X5, X6 - Время изготовления изделия первого потока вторым видом оборудования

X7, X8 - Время изготовления изделия первого потока третьим видом оборудования

X9, X10 - Интервалы времени между поступлениями изделий второго типа на обработку

X11, X12 - Время изготовления изделия второго потока первым видом оборудования

X13, X14 - Время изготовления изделия второго потока вторым видом оборудования

X15, X16 - Время изготовления изделия второго потока третьим видом оборудования

Модель 2.3 приведен на рис. 18.

Рисунок 18. Модель 2.3.

Алгоритм 2.3 приведен на рис. 19.

Рисунок 19. Алгоритм 2.3.

Где

X1, X2 - Параметры экспоненциального распределения вероятностей (л и в)

X3, X4 - Время заправки на первой колонке

X5, X6 - Время заправки на второй колонке

Модель 2.4 приведен на рис. 20.

Рисунок 20. Модель 2.4.

Алгоритм 2.4 приведен на рис. 21.

Рисунок 21. Алгоритм 2.4.

Где

X1, X2 - Интервалы времени между приходами рабочих

X3 - Вероятности взятия инструментов с первого стеллажа

X4, X5 - Время, необходимое для поиска инструмента на первом стеллаже

X6 - Вероятности взятия инструментов со второго стеллажа

X7, X8 - Время, необходимое для поиска инструмента на втором стеллаже

V$T_OBSL - Время учета взятых инструментов

Модель 2.5 приведен на рис. 22.

Рисунок 22. Модель 2.5.

Алгоритм 2.5 приведен на рис. 23.

Рисунок 23. Алгоритм 2.5.

Где

X1, X2 - Параметры экспоненциального распределения вероятностей (л и в)

X3 - Время контроля первой операции

X4 - Вероятность брака после первой операции

X5, X6 - Параметры нормального распределения вероятностей (м и у.)

X7 - Время контроля второй операции

X8 - Вероятность брака после второй операции

X9 - Вероятность возврата изделия на повторную обработку после первой операции

X10 - Вероятность возврата изделия на повторную обработку после второй операции

P1- время выполнения первой операции

3.2 Разработка программ

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

Для реализации разработанных ранее алгоритмов будем использовать операторы языка GPSS World представленные далее с подробным оптсанием их аргументов.

Оператор языка GPSS содержит 4 поля: метка (необязательное поле), операция, операнды, комментарий (необязательное поле). Комментарием считаются все символы, следующие после символа «;». Количество операндов может достигать 9, операнды обозначаются буквами A, B, C, D, E, F, G, H, I. Часть операндов может быть опущена (берутся по умолчанию), если опускаются не последние операнды (A, B, D, E), запятые сохраняются.

GENERATE A, B, C, D, E, F, G, H, I (генерировать транзакты).

A - среднее значение интервала; B - модификатор разброса или модификатор функции (GENE 10, 5 - интервал от 5 до 15 единиц равновероятен, GENE 10, 1 - средний интервал 10 единиц, распределение интервалов - по функции FN 1); C - время появления первого транзакта (по умолчанию 1); D - число выработанных транзактов (по умолчанию ); E - приоритет (по умолчанию 0); FчI - число и тип параметров (10PF, 7PH, ...) (по умолчанию 12 PH). При генерации транзактов значения всех параметров нулевые.

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

RELEASE A (освободить). A - имя устройства. Устройство должно быть освобождено тем же транзактом, который его занял.

STORAGE A1, B1/A2, B2/…/AN, BN (объявление многоканальных устройств). Ai - имя i-го устройства, Bi - объем i-го устройства.

ENTER A, B (войти в многоканальное устройство A, занять в нем B ячеек). По умолчанию B=1. Если в многоканальном устройстве нет требуемого количества ячеек, транзакт задерживается на входе оператора.

LEAVE A, B (выйти, т.е. освободить в многоканальном устройстве A и B ячеек). Освобождать можно любым транзактом, не обязательно тем, который занимал!

ADVANCE A, B (задержать). A - среднее время задержки; B - модификатор разброса или модификатор функции. Оператор может впускать сколько угодно транзактов.

TRANSFER A, B, C (передать). A - режим выбора; B и C - метки операторов, к которым происходит переход. Основные варианты использования оператора следующие:

A=BOTH - транзакт повторяет попытки войти сначала в оператор B, а в случае неудачи - в оператор C и т.д. до тех пор, пока какой-либо из операторов его не впустит.

A=.XXX - транзакт случайным образом, с вероятностью 0.XXX передается в оператор C, с вероятностью 1-0.XXX - в оператор B (или в следующий за TRANSFER по порядку оператор, если операнд B опущен).

Если опущены операнды A и C, транзакт безусловно передается в оператор, метка которого задана операндом B.

TEST X A, B, C (проверить).X - оператор отношения. Транзакт переходит в следующий по порядку оператор, если выполняется условие A X B, в противном случае пересылается на оператор C (по умолчанию остается на входе оператора TEST).

Вспомогательный оператор отношения X(E, G, L, GE, LE, NE) имеет соответственно смысл "равно", "больше", "меньше", "больше или равно", "меньше или равно", "не равно". X можно писать после TEST без пробела.

QUEUE A, B (отметить вход в очередь).A - имя очереди, B - количество занимаемых единиц (по умолчанию B=1).

DEPART A, B (отметить выход из очереди). Смысл операндов тот же, что для QUEUE. Оператор ставится после операторов SEIZE, PREEMT, ENTER.

TERMINATE A (завершить). Оператор ликвидирует вошедший в него транзакт, вычитает A единиц из счетчика завершений. По умолчанию A=0.

ИМЯ FUNCTION RNj, CK

X1,Y1/X2,Y2/…/XK,YK

Описание непрерывной случайной функции .

Здесь j - номер используемого датчика случайных чисел генерирующий числа с плавающей точкой в диапазоне [0,1], K - количество точек, по которым выполняется кусочно-линейная аппроксимация функции.

ИМЯ FUNCTION RNj, DK

X1,Y1/X2,Y2/…/XK,YK

Описание дискретной случайной функции.

Значения X должны лежать в пределах (0,1) и быть записаны в порядке увеличения.

А так же управляющую карту

START A, B, C, D (старт). Оператор уведомляет интерпретатор, что ввод программы закончен, можно начинать моделирование. A - начальное значение кода в счетчике завершений ( TG1); B=NP - признак подавления стандартной печати (по умолчанию распечатывается статистика в конце счета); C - счетчик снимков, показывающий, через какой интервал уменьшения TG1 надо распечатывать промежуточные результаты (по умолчанию не печатать); D=1 - признак распечатки списков в конце моделирования.

В соответствии с этими операторами, разработанными ранее алгоритмами и исходными данными представленными в задании разработаем программы, листинги которых представлены ниже и будут нумероваться «Программа 1.1», «Программа 1.2», и.т.д.; и «Программа 2.1», «Программа 2.2» , и.т.д., соответственно. Где первая цифра номер лабораторной работы, а вторая ее порядковый номер в каждой из них.

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

Программа 1.1

Вариант 1

;Клиенты для стрижки

GENERATE 35,10 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 18,6 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

; Клиенты для стрижки и бритья

GENERATE 60,20 ; Приход клиентов

QUEUE PARQ ; Присоединение к очереди

SEIZE PAR ; Переход в кресло парикмахера

DEPART PARQ ; Уход из очереди

ADVANCE 10,2 ; Бритье у парикмахера

ADVANCE 18,6 ; Стрижка у парикмахера

RELEASE PAR ; Освобождение парикмахера

TERMINATE 0 ; Уход из парикмахерской

;Моделирование

GENERATE 480 ; Время моделирования

TERMINATE 1 ; Завершение моделирования

START 1 ; Начало моделирования

Программа 1.2

Вариант 2

GENERATE ,,,4 ;Определение количества сборщиков

BACK1 ADVANCE 30,5 ;Сборка следующей детали

SEIZE OBG ;Занятие печи

ADVANCE 8,2 ;Использование печи

RELEASE OBG ;Освобождение печи

TRANSFER ,BACK1 ;Переход к сборке следующей детали

GENERATE 2400 ;Моделирование 5 дней работы

TERMINATE 1 ;Завершение работы

START 1 ;Начало прогона модели

Программа 1.3

Вариант 3

PRCH1 STORAGE 6 ;6 причалов для кораблей первого типа

PRCH2 STORAGE 3 ;2 причала для кораблей второго типа

BUKS STORAGE 2 ;2 буксира

;Корабль первого типа

GENERATE 130,30 ;Подход к порту

QUEUE TYPE1 ;Занятие очереди

ENTER PRCH1 ;Получение причала

ENTER BUKS ;Получение буксира

DEPART TYPE1 ;Освобождение очереди

ADVANCE 30,7 ;Буксирование до причала

LEAVE BUKS ;Освобождение буксира

ADVANCE 720,120 ;Погрузка-разгрузка

ENTER BUKS ;Получение буксира

LEAVE PRCH1 ;Освобождение причала

ADVANCE 20,5 ;Буксирование (отчаливание)

LEAVE BUKS ;Освобождение буксира

TERMINATE ;Завершение модели

;Корабль второго типа

GENERATE 390,60

QUEUE TYPE2

ENTER PRCH2

ENTER BUKS,2

DEPART TYPE2

ADVANCE 45,12

LEAVE BUKS,2

ADVANCE 1080,240

ENTER BUKS,2

LEAVE PRCH2

ADVANCE 35,10

LEAVE BUKS,2

TERMINATE 0

;Моделирование

GENERATE 48000 ;Моделирование времени работы

TERMINATE 1 ;Завершение моделирования

START 1 ;Начало моделирования

Программа 2.1

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

INITIAL X1,3 ;Ср. время поступления деталей на обработку

INITIAL X2,1.25 ;Отклонение от ср. времени

INITIAL X3,14 ;Ср. время выполнения операции 1-м рабочим

INITIAL X4,1.5 ;Отклонение от ср. времени

INITIAL X5,16 ;Ср. время выполнения операции 2-м рабочим

INITIAL X6,2 ;Отклонение от ср. времени

INITIAL X7,11 ;Ср. время выполнения операции 3-м рабочим

INITIAL X8,2.5 ;Отклонение от ср. времени

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

GENERATE X1,X2 ;Интервал поступления деталей

TRANSFER ALL,RAB_1,RAB_3,4 ;Передача деталей 1-му, 2-му или 3-му рабочему

RAB_1 SEIZE RAB1 ;Занимаем устройство RAB1 (1-й рабочий)

ADVANCE X3,X4 ;Задерживаем деталь на время обработки

RELEASE RAB1 ;Освобождение 1-го рабочего

TERMINATE ;Завершение операции

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

SEIZE RAB2 ;Занимаем устройство RAB2 (2-й рабочий)

ADVANCE X5,X6 ;Задерживаем деталь на время обработки

RELEASE RAB2 ;Освобождение 2-го рабочего

TERMINATE ;Завершение операции

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

RAB_3 QUEUE RAB3 ; Занятие очереди

SEIZE RAB3 ; Занимаем устройство RAB3 (3-й рабочий)

DEPART RAB3 ; Освобождение очереди

ADVANCE X7,X8 ; Задерживаем деталь на время обработки

RELEASE RAB3 ; Освобождение 3-го рабочего

TERMINATE ; Завершение операции

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

GENERATE 480 ;Время моделирования системы (8 часов)

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

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

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility= ",FC$RAB1)),,Met ;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility= ",FR$RAB1/1000)),,Met

WRITE (Catenate ("Facility= ",FC$RAB2)),,Met

WRITE (Catenate ("Util. Facility= ",FR$RAB2/1000)),,Met

WRITE (Catenate ("Max= ",QM$RAB3)),,Met

WRITE (Catenate ("CONT.= ",Q$RAB3)),,Met

WRITE (Catenate ("ENTRY= ",QC$RAB3)),,Met

WRITE (Catenate ("AVE.TIME= ",QT$RAB3)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ; Завершение операции

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1,NP ;Начало моделирования

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

Программа 2.2

Вариант 1

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

;Первый поток

GENERATE 40,5 ;Интервал поступления изделий 1-го типа

QUEUE OCHER1 ;Занятие очереди 1

SEIZE OBOR1 ;Занимаем оборудование 1

DEPART OCHER1 ;Освобождение очереди 1

ADVANCE 15,2 ;Задерживаем изделие на время обработки

RELEASE OBOR1 ;Освобождение оборудования 1

QUEUE OCHER2 ;Занятие очереди 2

SEIZE OBOR2 ;Занимаем оборудование 2

DEPART OCHER2 ;Освобождение очереди 2

ADVANCE 29,1 ;Задерживаем изделие на время обработки

RELEASE OBOR2 ;Освобождение оборудования 2

QUEUE OCHER3 ;Занятие очереди 3

SEIZE OBOR3 ;Занимаем оборудование 3

DEPART OCHER3 ;Освобождение очереди 3

ADVANCE 24,5 ;Задерживаем изделие на время обработки

RELEASE OBOR3 ;Освобождение оборудования 3

TERMINATE ; Завершение операции

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

;Второй поток

GENERATE 23,4.5 ;Интервал поступления изделий 2-го типа

QUEUE OCHER1 ;Занятие очереди 1

SEIZE OBOR1 ;Занимаем оборудование 1

DEPART OCHER1 ;Освобождение очереди 1

ADVANCE 21,2 ;Задерживаем изделие на время обработки

RELEASE OBOR1 ;Освобождение оборудования 1

QUEUE OCHER2 ;Занятие очереди 2

SEIZE OBOR2 ;Занимаем оборудование 2

DEPART OCHER2 ;Освобождение очереди 2

ADVANCE 19,5.5 ;Задерживаем изделие на время обработки

RELEASE OBOR2 ;Освобождение оборудования 2

QUEUE OCHER3 ;Занятие очереди 3

SEIZE OBOR3 ;Занимаем оборудование 3

DEPART OCHER3 ;Освобождение очереди 3

ADVANCE 28,1 ;Задерживаем изделие на время обработки

RELEASE OBOR3 ;Освобождение оборудования 3

TERMINATE ; Завершение операции

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

;Моделирование

GENERATE 960

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility1= ",FC$OBOR1)),,Met ;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Facility2= ",FC$OBOR1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$OBOR1/1000)),,Met

WRITE (Catenate ("Max1= ",QM$OCHER1)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$OCHER1)),,Met

WRITE (Catenate ("Max2= ",QM$OCHER2)),,Met

WRITE (Catenate ("AVE.CONT2= ",QA$OCHER2)),,Met

WRITE (Catenate ("Max3= ",QM$OCHER3)),,Met

WRITE (Catenate ("AVE.CONT3= ",QA$OCHER3)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

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

Программа 2.3

Вариант 2

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

GENERATE (Exponential (1,0,6.5)) ;Поступление автомобилей на заправку

QUEUE ZAPR ;Вход авто в очередь на заправку

TRANSFER BOTH KOL_1,KOL_2 ;Переход авто к свободной колонке

KOL_1 SEIZE KOL1 ;Определение занятости 1 колонки

DEPART ZAPR ;Вход авто из очереди на заправку

ADVANCE 15,2 ;Заправка авто на 1 колонке

RELEASE KOL1 ; Освобождение 1 колонки

TRANSFER ,NEXT ; Переход к NEXT

KOL_2 SEIZE KOL2 ; Определение занятости 2 колонки

DEPART ZAPR ; Вход авто из очереди на заправку

ADVANCE 13,1 ; Заправка авто на 2 колонке

RELEASE KOL2 ; Освобождение 2 колонки

NEXT SAVEVALUE AVE_QUEUE,QT$ZAPR ;Сохранение времени пребывания в очереди

TERMINATE ;Выход авто из системы

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

GENERATE 480 ;Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$KOL1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("AVE_TIME 1= ",FT$KOL1)),,Met

WRITE (Catenate ("Util. Facility2= ",FR$KOL2/1000)),,Met

WRITE (Catenate ("AVE_TIME 2= ",FT$KOL2)),,Met

WRITE (Catenate ("Max1= ",QM$ZAPR)),,Met

WRITE (Catenate ("AVE.CONT1= ",QA$ZAPR)),,Met

WRITE (Catenate ("CONT1= ",Q$ZAPR)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

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

Программа 2.4

Вариант 3

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

INST1 FUNCTION RN1,D5 ; Опр. числа взятых инструментов с 1 стеллажа

0.2,3/0.4,4/0.6,5/0.8,6/1,7

INST2 FUNCTION RN1,D3 ; Опр. числа взятых инструментов со 2 стеллажа

0.33,2/0.66,3/1,4

T_OBSL FVARIABLE (FN$INST1+FN$INST2)#1.2 ; Опр. Времени учета взятых инструментов

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

GENERATE 9,2 ;Прибытие рабочих за инструментом

TRANSFER .29,,STEL2 ;Переход с заданной вероятностью ко 2 стеллажу

ADVANCE 10,5 ;Поиск инструмента на 1 стеллаже

STEL2 TRANSFER .46,,KLAD ;Переход с заданной вероятностью к кладовщику

ADVANCE 11,2.5 ;Поиск инструмента на 2 стеллаже

KLAD QUEUE UCHET ;Вход в очередь к кладовщику

SEIZE CLAD ;Ожидание освобождения кладовщика

DEPART UCHET ;Выход из очереди к кладовщику

ADVANCE V$T_OBSL ;Время учета взятых инструментов

RELEASE CLAD ;Освобождение кладовщика

TERMINATE ;Выход рабочего из кладовой

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

GENERATE 480 ; Моделирование в течении смены

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Facility= ",FC$CLAD)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility= ",FR$CLAD /1000)),,Met

WRITE (Catenate ("Max= ",QM$UCHET)),,Met

WRITE (Catenate ("ENTRIES= ", QC$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)= ",QZ$UCHET)),,Met

WRITE (Catenate ("ENTRIES(0)%= ", ((QZ$UCHET#100)/ QC$UCHET))),,Met

WRITE (Catenate ("AVE_TIME = ",FT$UCHET)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

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

Программа 2.5

Вариант 4

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

RMULT 231

Time_obrab TABLE M1,100,20,7

Oper_1 FUNCTION RN1,D7

0,0/.04,9/.20,13/.35,17/.60,25/.85,35/1.0,50

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

GENERATE (Exponential (1,0,25)) ; Интервал поступления изделий

ASSIGN 1,FN$Oper_1 ; Присваивание 1 переменной значения функции

Oper1 SEIZE Oborud_1 ; Занимаем оборудование 1

ADVANCE P1 ; Задерживаем изделие на время обработки

RELEASE Oborud_1 ; Освобождение оборудования 1

ADVANCE 2 ; Задерживаем изделие на время контроля

TRANSFER .07,,Ustr_brak_1 ; Переход с вероятностью к Ustr_brak_1

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

Oper2 SEIZE Oborud_2 ; Занимаем оборудование 2

ADVANCE (Normal (1,25,3)) ; Задерживаем изделие на время обработки

RELEASE Oborud_2 ; Освобождение оборудования 2

ADVANCE 3 ; Задерживаем изделие на время контроля

TRANSFER .15,,Ustr_brak_2 ; Переход с вероятностью к Ustr_brak_2

TABULATE Time_obrab ; Запись результата в таблицу

TERMINATE ; Завершение операции

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

Ustr_brak_1 TRANSFER .35,,Oper1 ; Переход с вероятностью к Oper1

TERMINATE ; Завершение операции

Ustr_brak_2 TRANSFER .62,,Oper2 ; Переход с вероятностью к Oper2

TERMINATE ; Завершение операции

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

GENERATE 480

TEST G TG1,1,Fin ;Если счетчик TG1 > 1, то запись в файл данных

Fin OPEN ("File.txt"),,Met1 ;Открытие файла, в случае ошибки завершить

WRITE (Catenate ("Util. Facility1= ",FR$Oborud_1/1000)),,Met

;Запись в файл, в случае ошибки завершить

WRITE (Catenate ("Util. Facility2= ",FR$Oborud_2/1000)),,Met

WRITE (Catenate ("AVE_TIME1 = ",FT$Oborud_1)),,Met

WRITE (Catenate ("AVE_TIME2 = ",FT$Oborud_2)),,Met

CLOSE Prob,,Met2 ; Закрытие файла, в случае ошибки завершить

TERMINATE 1 ;Завершение моделирования

Met TERMINATE 1 ; Завершение операции

Met1 TERMINATE 1

Met2 TERMINATE 1

START 1 ;Начало моделирования

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

4. Разработка программной документации

Введение стандартов в процесс создания программного изделия направлено на достижение следующих результатов:

- упрощение процесса разработки программы, а значит, и улучшение таких показателей, как надежность и стоимость.

- облегчение чтения и понимания программ сторонними лицами, что ведет к снижению числа ошибок, упрощает использование и эксплуатацию, документированностъ, мобильность и т.д.

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

а) унификации программных изделий для взаимообмена программами и применения ранее созданных программ в новых разработках;

б) снижение трудоемкости и повышения эффективности разработки, сопровождения, изготовления и эксплуатации программных изделий;

в) автоматизации изготовления и хранения программной документации.

В данном дипломном проекте разрабатывались три вида документов -«Программа и методика испытаний» и два эксплуатационных документа - «Руководство программиста» и «Руководство оператора».

Документы могут разрабатываться как на весь комплекс, так и на отдельные модули. В данном дипломном проекте программная документация разрабатывалась на весь комплекс.

Хотя ЕСПД предусматривает разработку порядка и методики испытания на стадии «Рабочий проект», работа по подготовке и проведению

испытаний фактически начинается уже на стадии «Техническое задание», когда намечается порядок контроля и приемки, и ее целесообразно вести в течение всего процесса проектирования программы.

Эксплуатационные документы разрабатывались на стадии разработки программы.

4.1 Руководство программиста

Документ «Руководство программиста» разрабатывается в соответствии с ГОСТ 19.504-79.

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

· назначение и условия применения программы;

· характеристики программы;

· обращение к программе;

· входные и выходные данные;

· сообщения.

В разделе «Назначение и условия применения программы» должны быть указаны назначение и функции, выполняемые программой, условия, необходимые для выполнения программы (объем оперативной памяти, требования к составу и параметрам периферийных устройств, требования к программному обеспечению и т. п.).

В разделе «Характеристики программы» должно быть приведено описание основных характеристик и особенностей программы (временные характеристики, режим работы, средства контроля правильности выполнения и самовосстанавливаемости программы и т.д.).

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

В разделе «Входные и выходные данные» должно быть приведено описание организации используемой входной и выходной информации и, при необходимости, ее кодирования.

В разделе «Сообщения» должны быть указаны тексты сообщений, выдаваемых программисту или оператору в ходе выполнения программы, описание их содержания и действия, которые необходимо предпринять по этим сообщениям.

Документ «Руководство программиста» приведен ниже.

Руководство программиста

1. Назначение и условия применения программы

Программа предназначена для имитационного моделирования процессов или объектов описанных в задании лабораторных работ по дисциплине «Компьютерное моделирование».

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

Минимальный состав программных средств:

· операционная система Windows XP/Vista/7;

· среда программирования GPSS World Student Version 5.2.2.

Минимальный состав аппаратных средств:

· персональный компьютер на базе процессора с частотой не менее 1 ГГц;

· ОЗУ не менее 256 Мб;

· 10 Мб свободного места на жёстком диске;

· видеокарта и монитор, поддерживающие разрешение 800Ч600 или выше;

· клавиатура, мышь.

2. Характеристики программы

Программное обеспечение создано с помощью среды программирования GPSS World Student Version 5.2.2, языка моделирования GPSS World и предназначено для работы под управлением операционной системы Windows XP/Vista/7.

3. Обращение к программе

Для запуска приложения необходимо в меню установленных программ выбрать GPSS World Student Version.

После запуска приложения из строки меню выбрать File->New, из открывшегося списка выбрать Model и нажать Ok, при этом создастся новая модель и откроется поле ввода текста программы «Untitled Model 1.gps» (рис. 24).

Рисунок 24. Поле ввода текста программы

В этом окне необходимо написать код программы соответствующий заранее разработанному алгоритму. Для создания выполняемой модели необходимо из строки меню выбрать Command->Create Simulation, после этого если нет ошибок то сформируется журнал «Untitled Model 1.1.sim»(рис. 25).

Рисунок 25. Журнал

Если же в программе найдены ошибки, то они отображаются в данном журнале.

Для запуска программы необходимо из строки меню выбрать Command->START, в открывшемся диалоговом окне Start Command команде START задаются аргументы, после нажатия на Ok происходит выполнение программы и формирование отчета «Untitled Model 1.1.1.gpr»(рис. 26).

Рисунок 26. Отчет

4. Входные и выходные данные

Входные и выходные данные используют:

1) окно ввода текста программы;

2) окно выдачи сообщений (журнал);

3) окно отчета работы программы;

4) окно сохранения;

5) окна открытия;

1) Входными данными являются текст программы написанный на языке GPSS World. Выходные данные - результаты проверки данного текста на ошибки и результаты его выполнения.

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

3) Входными данными являются результаты выполнения текста программы. Выходные данные - полный отчет о моделировании данной системы сгенерированный стандартными операторами языка.

4) Входными данными являются текст программы, журнал сообщений или отчет работы программы. Выходные данные - тестовый файл с заданным именем и соответствующим расширением.

5) Входными данными являются тестовый файл с заданным именем и соответствующим расширением сохраненный ранее. Выходные данные - текст программы, журнал сообщений или отчет работы программы.

5. Сообщения программисту

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

4.2 Руководство оператора

Документ «Руководство оператора» разрабатывается в соответствии с ГОСТ 19.505-79.

Руководство оператора должно содержать следующие разделы:

· назначение программы;

· условия выполнения программы

· выполнение программы;

· сообщения оператору.

В разделе «Назначение программы» должны быть указаны сведения о назначении программы и информация, достаточная для понимания функций программы и ее эксплуатации.

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

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

В разделе «Сообщения оператору» должны быть приведены тексты сообщений, выдаваемых в ходе выполнения программы, описание их содержания и соответствующие действия оператора (действия оператора в случае сбоя, возможности повторного запуска программы и т. п.).

Документа «Руководство оператора» приведен ниже.

Руководство оператора

1. Назначение программы

Программа предназначена для имитационного моделирования процессов или объектов описанных в задании лабораторных работ по дисциплине «Компьютерное моделирование».

2. Условия выполнения программы

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

Минимальный состав программных средств:

· операционная система Windows XP/Vista/7;

· среда программирования GPSS World Student Version 5.2.2.

Минимальный состав аппаратных средств:

· персональный компьютер на базе процессора с частотой не менее 1 ГГц;

· ОЗУ не менее 256 Мб;

· 10 Мб свободного места на жёстком диске;

· видеокарта и монитор, поддерживающие разрешение 800Ч600 или выше;

· клавиатура, мышь.

3. Обращение к программе

Для запуска приложения необходимо в меню установленных программ выбрать GPSS World Student Version.

Для запуска программы необходимо из строки меню выбрать Command->START, в открывшемся диалоговом окне Start Command команде START задаются аргументы, после нажатия на Ok происходит выполнение программы и формирование отчета «Untitled Model 1.1.1.gpr»

Для открытия этого или другого файла необходимо из строки меню выбрать File->Open, далее в открывшемся окне (рис. 33) выбрать нужный файл и нажать открыть.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.

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

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

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

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

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

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