4. Защита курсовой работы - Северо

advertisement
МОДЕЛИРОВАНИЕ СИСТЕМ
Методические указания
к курсовой работе
для студентов, обучающихся по направлению подготовки
230100.62 «Информатика и вычислительная техника»
Составитель А. А. Будаева
Владикавказ 2015
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«СЕВЕРО-КАВКАЗСКИЙ ГОРНО-МЕТАЛЛУРГИЧЕСКИЙ ИНСТИТУТ
(ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ)»
Кафедра Автоматизированной обработки информации
МОДЕЛИРОВАНИЕ СИСТЕМ
Методические указания
к курсовой работе
для студентов, обучающихся по направлению подготовки
230100.62 «Информатика и вычислительная техника»
Составитель А. А. Будаева
Допущено
редакционно-издательским советом
Северо-Кавказского горно-металлургического института
(государственного технологического университета).
Протокол заседания РИСа № 1 от 17.01.2014 г.
Владикавказ 2015
1
УДК 004.942:519.876
ББК 32.816
Б90
Рецензент:
кандидат технических наук, доцент
Северо-Кавказского горно-металлургического института
(государственного технологического университета)
Даурова А. А.
Б90
Моделирование систем: Методические указания к курсовой работе для студентов, обучающихся по направлению
подготовки 230100.62 – «Информатика и вычислительная
техника» / Сост.: А. А. Будаева; Северо-Кавказский горнометаллургический институт (государственный технологический университет). – Владикавказ: Северо-Кавказский
горно-металлургический институт (государственный технологический университет). Изд-во «Терек», 2015. – 67 с.
В методических указаниях содержатся основные требования к объему,
оформлению, структуре и содержанию разделов курсовой работы. Приведены темы курсовых работ и список рекомендуемой литературы по дисциплине «Моделирование систем» для студентов направления подготовки
«Информатика и вычислительная техника» 230100.62.
Методические указания способствуют углубленному изучению приемов моделирования систем, а также практическому освоению всех этапов
имитационного моделирования от содержательного описания объекта моделирования до обработки и анализа результатов.
УДК 004.942:519.876
ББК 32.816
Редактор: Иванченко Н. К.
Компьютерная верстка: Куликова М. П.
 Составление. ФГБОУ ВПО «Северо-Кавказский
горно-металлургический институт
(государственный технологический университет)», 2015
 Будаева А. А., составление, 2015
Подписано в печать 20.01.2015. Формат 60х84 1/16. Бумага офсетная. Гарнитура
«Таймс». Печать на ризографе. Усл. п.л. 3,89. Уч.-изд. л. 3,09. Тираж 20 экз.
Заказ №
. Северо-Кавказский горно-металлургический институт
(государственный технологический университет). Издательство «Терек».
Отпечатано в отделе оперативной полиграфии СКГМИ (ГТУ).
362021, г. Владикавказ, ул. Николаева, 44.
2
Оглавление
1. Общие положения .................................................................................
4
2. Структура курсовой работы .................................................................
–
3. Оформление курсовой работы .............................................................
5
4. Защита курсовой работы .......................................................................
6
5. Методические указания по выполнению теоретической главы
курсовой работы. Технология имитационного моделирования ............
7
5.1. Имитационное моделирование процессов ..................................
–
5.2. Этапы имитационного моделирования .......................................
8
5.3. Технология имитационного моделирования в системе
моделирования GPSS World ....................................................................
12
6. Примерная тематика курсовых работ ..................................................
17
6.1. Темы курсовых работ ....................................................................
–
6.2. Задания для курсовых работ .........................................................
18
Литература .................................................................................................
36
Приложение 1. Язык имитационного моделирования GPSS.................
38
Приложение 2. Отчет ................................................................................
59
Приложение 3. Образец оформления титульного листа курсовой
работы .........................................................................................................
67–
3
1. Общие положения
Курсовая работа по дисциплине «Моделирование систем» выполняется студентами специальности «Информатика и вычислительная
техника», обучающихся по профилю «Автоматизированные системы
обработки информации и управления» с целью закрепления и углубления полученных теоретических знаний, а также приобретения навыков использования методов моделирования и оптимизации.
В процессе выполнения курсовой работы происходит значительное развитие навыков самостоятельной учебной, исследовательской и
научной работы студентов.
Каждому студенту выдается индивидуальное задание на курсовую работу в соответствии с выбранной темой.
2. Структура курсовой работы
В обязательном порядке курсовая работа должна включать следующие разделы:
— введение;
— теоретическая глава;
— аналитическая глава;
— заключение;
— список использованной литературы;
— приложения.
Во введении необходимо сформулировать цель и задачи работы,
охарактеризовать объект и методы исследования. Объем введения составляет 1—2 страницы.
Теоретическая глава пишется на основании глубокого изучения
литературы и включает краткое изложение основных вопросов работы.
При написании этой главы необходимо использовать справочники, учебники и учебные пособия, другие литературные источники.
Объем теоретической главы составляет 5−10 страниц.
Аналитическая глава. Практическое применение теоретической
главы. Объем главы 5−10 страниц. В данной главе должно быть представлено решение полученного студентом задания в системе моделирования GPSS WORLD, а именно, программа, написанная на языке
GPSS, статистический отчет и его анализ.
Заключение. В заключении должны быть сформулированы краткие выводы по всей работе. Объем заключения — 1 страница.
4
3. Оформление курсовой работы
Курсовая работа должна быть представлена студентом в установленный графиком срок в виде отчета. Отчет оформляется на бумаге
формата А4 в печатном виде или написанном от руки с установкой
следующих полей: с правой стороны — 10 мм, с левой — 30 мм, вверху — 20 мм, внизу — 25 мм. Номера страниц проставляются арабскими цифрами в верхнем правом углу. Отчет должен содержать титульный лист, лист задания на контрольную работу, содержание, введение,
основную часть (2 главы), заключение, список литературы, приложения. Образцы титульного листа и листа задания приведены в приложении настоящего учебно-методического издания.
Нумерация разделов в курсовой работе производится арабскими
цифрами с точкой. Введение и заключение не нумеруются. Точку в
конце заголовка раздела не ставят. Каждый раздел начинается с новой
страницы. Расстояние между заголовком и текстом — 15 мм.
Рисунки располагаются после ссылки на них в тексте. Под рисунком указывается его номер и название. Таблицы должны иметь номер
и название.
Все рисунки и таблицы должны иметь сквозную нумерацию.
Формулы помещаются на отдельной строке и нумеруются цифрами в скобках с правой стороны от формулы (нумерация сквозная).
Каждая формула должна содержать расшифровку условных обозначений с указанием размерности. При ссылке в тексте на формулу указывается ее номер.
Список литературы оформляется в следующем порядке: первыми
указываются законы и государственные документы, затем в алфавитном порядке приводятся учебники, справочники, словари и т. п. Все
литературные источники нумеруются, и в тексте дается ссылка на номер. Последовательность записи такова: фамилия и инициалы авторов; полное название книги или статьи; место выпуска и наименование издательства; год выпуска; номер журнала; количество страниц.
Образец:
1. Новиков Ю. В., Кондратенко С. В. Локальные сети: архитектура, алгоритмы, проектирование. – М.: ЭКОМ, 2001. – 312 с.
2. Олифер В. Г., Олифер Н. А. Компьютерные сети. Принципы,
технологии, протоколы. – СПб.: Питер, 1999. – 672 с.
3. Пятибратов А. П., Гудыно Л. П., Кириченко А. А. Вычислительные системы, сети и телекоммуникации. – М.: Финансы и статистика, 2001. – 512 с.
5
Приложения помещаются после списка литературы на последующих страницах. Каждое приложение начинается с нового листа с
указанием в правом верхнем углу слова "Приложение" с порядковым
номером. Каждое приложение имеет заголовок.
4. Защита курсовой работы
Руководитель рекомендует список литературы, с которой студенту необходимо познакомиться перед выполнением основной части
курсовой работы. Студент имеет право дополнить предложенный список по своему усмотрению.
Курсовая работа должна быть представлена в одном экземпляре и
считается выполненной после исправления обнаруженных при проверке руководителем недостатков и ошибок. Программная реализация
обязательно прилагается на диске и демонстрируется руководителю.
Защита курсовой работы проводится в сроки, определенные программой по дисциплине, и является обязательной формой проверки
выполнения работы.
Результаты зашиты курсовой работы оцениваются дифференцированной отметкой по пятибалльной системе. Основными критериями
при выставлении оценки являются:
— самостоятельность выполнения работы;
— теоретическая и практическая подготовка студента в области
сервиса;
— навыки исследовательского характера;
— грамотность изложения и свободное владение материалом;
— качество оформления контрольной работы;
— правильность ответов на вопросы при защите контрольной работы.
Порядок защиты курсовой работы следующий:
1. Доклад студента о результатах своих исследований (до 5 мин).
2. Ответы на вопросы.
Студент, не представивший в установленный срок курсовую работу или не защитивший ее по неуважительной причине, считается
имеющим академическую задолженность.
Выполненные работы после их защиты сдаются на кафедру, где
хранятся в течение 2 лет, затем уничтожаются.
6
5. Методические указания по выполнению теоретической
главы курсовой работы. Технология имитационного
моделирования
5.1. Имитационное моделирование процессов
Имитационное моделирование (simulation) является одним из
мощнейших методов анализа систем.
В общем случае под имитацией понимают процесс проведения на
ЭВМ экспериментов с математическими моделями сложных систем
реального мира.
Цели проведения подобных экспериментов могут быть самыми
различными − от выявления свойств и закономерностей исследуемой
системы, до решения конкретных практических задач. С развитием
средств вычислительной техники и программного обеспечения, спектр
применения имитации в разных сферах существенно расширился. Рассмотрим основные преимущества применения имитационного моделирования.
Как следует из определения, имитация − это компьютерный эксперимент. Единственное отличие подобного эксперимента от реального состоит в том, что он проводится с моделью системы, а не с самой
системой. Имитация часто оказывается единственным способом исследования систем без осуществления реальных экспериментов.
Часто практически невыполним или требует значительных затрат
сбор необходимой информации для принятия решений. Например,
при оценке риска инвестиционных проектов, как правило, используют
прогнозные данные об объемах продаж, затратах, ценах и т. д.
Однако, чтобы адекватно оценить риск, необходимо иметь достаточное количество информации для формулировки правдоподобных
гипотез о вероятностных распределениях ключевых параметров проекта. В подобных случаях отсутствующие фактические данные заменяются величинами, полученными в процессе имитационного эксперимента (т. е. сгенерированными компьютером).
При решении многих задач анализа данных используются модели, содержащие случайные величины, поведение которых не поддается управлению со стороны лиц, принимающих решения. Такие модели
называют стохастическими. Применение имитации позволяет сделать
выводы о возможных результатах, основанные на вероятностных распределениях случайных факторов (величин). Стохастическую имитацию часто называют методом Монте-Карло.
7
Имитационное моделирование представляет собой серию численных экспериментов, призванных получить эмпирические оценки степени влияния различных факторов (исходных величин) на некоторые
зависящие от них результаты (показатели).
В общем случае проведение имитационного эксперимента можно
разбить на следующие этапы:
1. Установление взаимосвязи между исходными и выходными
показателями в виде математического уравнения или неравенства;
2. Задание законов распределения вероятностей для ключевых
параметров модели;
3. Проведение компьютерной имитации значений ключевых параметров модели;
4. Расчеты основных характеристик распределений исходных и
выходных показателей;
5. Проведение анализа полученных результатов и принятие решения.
Результаты имитационного эксперимента могут быть дополнены
статистическим анализом, а также использоваться для построения
прогнозных моделей и сценариев.
5.2. Этапы имитационного моделирования
Процесс разработки, проверки, эксплуатации имитационной модели состоит из восьми этапов [2].
Первый этап. Составление содержательного описания объекта
моделирования включает несколько подъэтапов.
1. Цель моделирования. От поставленной цели моделирования зависят уровень детализации системы, время и стоимость моделирования.
2. Определение и сбор информации. При определении информации
следует перечислить перечень необходимой информации, место получения информации и форму её представления. При сборе информации
следует обратить внимание на то, чтобы собранная информация была
представлена в виде, удобном для использования в модели.
3. Определение параметров и переменных моделируемой системы.
Параметры системы – это такие величины, которые задаются перед
началом моделирования и в процессе моделирования не меняются. От
параметров системы зависит качество системы управления. Переменные − это такие величины, которые в процессе моделирования прини8
мают последовательность значений. Описание параметров и переменных следует представлять в виде таблицы (см. таблицу).
Таблица 1
Описание параметров и переменных
Обозначение
Наименование
Единица
измерения
Диапазон изменений,
примечание
4. Выбор показателей качества и эффективности моделирования системы. Могут быть выбраны несколько показателей качества управления системы и различные критерии эффективности.
Второй этап. Разработка концепции модели, которая состоит из
следующих подэтапов.
1. Декомпозиция системы. Сложная система расчленяется на конечное число подсистем, имеющих связи между собой. Подсистемы, в
свою очередь, расчленяются на отдельные элементы, объединенные
связями. В дальнейшем при моделировании подсистемы будут называться подмоделями.
2. Выбор параметров и переменных. Этот этап выполняется в случае, если есть необходимость коррекции результатов выбора, выполненного на первом этапе.
3. Уточнение критериев эффективности функционирования системы.
4. Аппроксимация реальных процессов математическими выражениями.
5. Задание исходной информации. Данный подъэтап выполняется,
если это не было сделано на первом этапе.
6. Разработка структуры модели. Выбирается вид модели (детерминированная, стохастическая), взаимодействие исследователя с моделью, определяются задачи моделирования.
Третий этап. Формальное описание объекта моделирования.
Этап этот выполняется не всегда, а лишь тогда, когда из-за сложности объекта невозможен переход от первого этапа к четвертому этапу, т. е. когда не удаётся полностью формализовать все элементы процесса и потребуется дополнительная работа − представление процесса
функциональными зависимостями, алгоритмическое описание, смешанное представление в виде формул и алгоритмов.
9
Четвёртый этап. Составление имитационной модели. Этап состоит из 4 подэтапов.
1.
Декомпозиция модели. Модель разделяется на подмодели,
которые в свою очередь расчленяются на отдельные элементы, объединенные связями. Основой декомпозиции модели является декомпозиция системы, проведенная на втором этапе.
2.
Выбор математического аппарата. Математический аппарат выбирается исходя из поставленной задачи моделирования.
3.
Составление алгоритма модели. Алгоритм – это последовательность действий. Наиболее распространённой формой представления алгоритма является графическая в виде блок-схем.
4.
Составление документации на алгоритм модели. Документы на алгоритм модели состоят из описания алгоритма, которое содержит следующие разделы:
1) Назначение и характеристика.
2) Используемая информация (по форме таблицы 1).
2.1. Нормативно-справочная.
2. 2. Оперативная информация.
2.3. Промежуточная информация.
3) Результаты решения (по форме таблицы 1).
4) Математическое описание (описание процесса, расчетные
формулы).
5) Алгоритм решения.
5. 1. Блок-схема алгоритма.
5. 2. Описание логики процесса.
5. 3. Требования к контрольному примеру.
Пятый этап. Реализация имитационной модели состоит из следующих подэтапов:
1. Выбор ЭВМ.
2. Выбор языка моделирования.
3. Составление программ модулей. При разработке программ используются принципы системного программирования, т. е. подмодели
разделяются на модули. У модуля должен быть один вход и один выход. Объём модуля примерно 20−100 операторов.
4. Автономная отладка модулей.
5. Комплексная отладка подмоделей и всей модели.
6. Описание программы.
7. Составление инструкции пользователю программы.
10
Шестой этап. Испытание и исследование свойств имитационной модели состоит из следующих подэтапов:
1. Задание исходной информации для моделирования.
2. Верификация имитационной модели. Верификация состоит в
доказательстве соответствия алгоритма функционирования модели
поставленной цели.
3. Проверка адекватности модели. Адекватность − это соответствие модели исследуемому объекту. Адекватность может проверяться по средним значениям, дисперсиям, максимальным значениям отклонений результатов модели от объекта.
4. Коррекция модели по результатам исследований.
5. Оценка устойчивости результатов моделирования. Устойчивость результатов моделирования определяется в стохастических моделях. При случайных изменениях входных параметров проверяется
работоспособность модели при выполнении заданных функций.
6. Оценка чувствительности модели. Производится оценка изменения результатов моделирования при изменениях параметров исследуемого объекта.
Седьмой этап. Проведение экспериментов на модели (моделирование) состоит из следующих подэтапов:
1. Формулировка целей экспериментов.
2. Составление планов эксперимента.
3. Обсуждение плана с сотрудниками.
4. Подготовка и ввод исходных данных.
5. Моделирование.
Восьмой этап. Обработка и анализ результатов моделирования
состоит из следующих подэтапов:
1. Выбор формы представления результатов. Могут использоваться следующие формы представления результатов: табличная, графическая, аналитическая.
2. Анализ и оценка результатов моделирования. Оценивается
влияние каждого параметра на систему управления.
3. Подведение итогов моделирование. Делается вывод по качеству управления системы и соответствия техническому заданию. Если
система управления соответствует предъявленным требованиям, то
выбираются параметры системы.
4. Документальное оформление результатов.
11
5.3. Технология имитационного моделирования в системе
моделирования GPSS World
Система GPSS (General Purpose System Simulator) World предназначена для написания имитационных моделей систем с дискретными
событиями. Наиболее удобно в системе GPSS описываются модели
систем массового обслуживания, для которых характерны относительно простые правила функционирования составляющих их элементов.
В системе GPSS World моделируемая система представляется с
помощью набора абстрактных элементов, называемых объектами.
Каждый объект принадлежит к одному из типов объектов.
Объект каждого типа характеризуется определенным способом
поведения и набором атрибутов, определяемыми типом объекта.
Например, если рассмотреть работу порта, выполняющего погрузку
и разгрузку прибывающих судов, и работу кассира в кинотеатре, выдающего билеты посетителям, то можно заметить большое сходство
в их функционировании. В обоих случаях имеются объекты, постоянно присутствующие в системе (порт и кассир), которые обрабатывают поступающие в систему объекты (корабли и посетители кинотеатра).
В теории массового обслуживания эти объекты называются приборами и заявками. Когда обработка поступившего объекта заканчивается, он покидает систему. Если в момент поступления заявки прибор обслуживания занят, то заявка становится в очередь, где и ждет до
тех пор, пока прибор не освободится. Очередь также можно представлять себе как объект, функционирование которого состоит в хранении
других объектов.
Каждый объект может характеризоваться рядом атрибутов, отражающих его свойства. Например, прибор обслуживания имеет некоторую производительность, выражаемую числом заявок, обрабатываемых им в единицу времени. Сама заявка может иметь атрибуты, учитывающие время ее пребывания в системе, время ожидания в очереди
и т. д. Характерным атрибутом очереди является ее текущая длина,
наблюдая за которой в ходе работы системы (или ее имитационной
модели), можно определить ее среднюю длину за время работы (или
моделирования). В языке GPSS определены классы объектов, с помощью которых можно задавать приборы обслуживания, потоки заявок,
очереди и т. д., а также задавать для них конкретные значения атрибутов.
12
На рис.1 изображена общая схема проведения имитационного
моделирования в системе GPSS World.
модель
Ассемблер
GPSS
Программа
ввода
Интерпретатор
модели
Результаты
моделирования
Рис. 1. Моделирование в системе GPSS World
Модель, дополненная необходимыми управляющими предложениями операционной системы, вводится в ЭВМ и поступает на обработку ассемблером GPSS, который проводит синтаксический контроль
модели и преобразует ее во внутреннюю форму, удобную для проведения моделирования. Модель во внутренней форме передается с помощью программы ввода интерпретатору модели, который выполняет
моделирование. Во внутренней форме все объекты, описанные в модели, получают последовательные номера в порядке поступления. Последовательности номеров выстраиваются отдельно по типам объектов: среди устройств, накопителей, очередей и т. д. Эти номера могут
быть напрямую указаны в модели программистом.
Главной функцией интерпретатора является создание транзактов
и проводка их через блоки модели с одновременным выполнением
действий, связанных с каждым блоком. Движение транзактов в модели соответствует движению отображаемых ими объектов в реальной
системе.
Всякое изменение состояния модели, например, переход транзакта от одного блока к другому, можно рассматривать как некоторое
событие, происходящее в определенный момент условного (системного) времени, задаваемого "часами" системы, работа которых организуется интерпретатором. Фактически "часы" в интерпретаторе GPSS −
это целая переменная, значение которой соответствует текущему моменту условного времени модели.
При построении модели пользователь должен задаться соотношением единицы системного времени, используемого в модели, к реальному времени, в котором происходит функционирование моделируемой системы.
В процессе моделирования интерпретатор автоматически определяет правильную очередность наступления событий. В случае, если
13
нужные действия в намеченный момент времени выполнены быть не
могут (например, занято устройство, к которому обращается транзакт), интерпретатор временно прекращает обработку "застрявшего"
транзакта, и продолжает следить за причиной, которая вызвала блокировку его обработки. Как только эта причина исчезает (например,
освобождается занятое устройство), интерпретатор возвращается к
обработке задержанного транзакта.
При продвижении транзактов через блоки могут происходить события следующих 4-х основных типов:
1) создание или уничтожение транзакта;
2) изменение значения атрибута объекта;
3) задержка транзакта на некоторый промежуток системного времени;
4) изменение маршрута движения транзакта по блокам модели.
Пример модели. Модель вычислительного центра из 5 ЭВМ, которые обрабатывают поступающие по линии связи сигналы. Производительность ЭВМ одинаковая. Сигналы распределяются на ЭВМ последовательно: на первую, на вторую, на третью и т. д. по мере поступления. Номер ЭВМ, которая будет обрабатывать данный сигнал,
записывается в первый параметр транзакта. Если очередная ЭВМ занята, то для того, чтобы не потерять сигнал, делается попытка прервать работу данной ЭВМ и обработать сначала вновь пришедший для
данной ЭВМ сигнал, а потом возобновить обработку прерванного
сигнала. Для этого делается проверка того, не находится ли данная
ЭВМ уже в режиме прерывания для обработки предыдущего приоритетного сигнала. Если данная ЭВМ еще не завершила обработку
предыдущего подобного события, то только в этом случае вновь пришедший сигнал теряется. Цель моделирования может состоять в том,
чтобы найти такое время обработки сигналов (производительность
ЭВМ) при заданных параметрах входного потока сигналов, при котором не будет потери сигналов.
GENERATE 60,30 (поступление сигнала через 30–90 секунд)
SAVEVALUE 1,V3 (запись в Х1 номера ЭВМ, который вычисляется
как значение переменной V3),
VARIABLE X1@5+1 (выражение для вычисления номера ВМ с использованием хранимого значения Х1; значение
переменной V3 изменяется следующим образом:
1,2,3,4,5,1,2,3,4,5,...),
ASSIGN 1,X1 (запись в Р1 номера ЭВМ из Х1,
14
GATE NU P1,PRIO (проверка занятости устройства, номер которого
записан в параметре Р1 транзакта),
SEIZE P1 (занятие устройства),
ADVANCE 210,70 (обработка сигнала),
RELEASE P1 (освобождение устройства),
TABULATE TAB (запись в таблицу времени пребывания сигнала на
вычислительном центре),
TERMINATE (сигнал обработан),
PRIO GATE NI P1,LOSS (проверка прерывания устройства),
PREEMPT P1 приоритетное обслуживание нового сигнала, требующего устройства, номер которого в P1),
ADVANCE 210,70 (обработка сигнала),
RETURN P1 (возврат устройства),
TABULATE TAB (запись в таблицу времени пребывания),
TERMINATE (уничтожение транзакта),
LOSS TERMINATE (необработанный сигнал потерян),
TAB TABLE M1,150,30,7 (описание таблицы времен),
GENERATE 1 (моделирование времени работы),
TERMINATE 1 (в течение 10 часов = 10*60*60 =),
START 36000 (36000 секунд)
Данные о необработанных сигналах определяются по количеству
транзактов, прошедших через блок с меткой LOSS. Загрузка ЭВМ
определяется как загрузка устройств 1, 2, 3, 4, 5.
Большая часть необходимой статистики собирается в GPSS World
автоматически и не требует поэтому дополнительных усилий разработчика модели.
Для всех выполняемых блоков, составляющих модель, выводится
номер блока, количество транзактов, задержанных в блоке на момент
завершения моделирования, и общее количество транзактов, прошедших через блок. Эти данные помогают собрать часть статистики и
проанализировать работу модели, что особенно полезно при отладке
модели.
Для устройств выводятся следующие данные:
• количество транзактов, прошедших через устройство;
• среднее время занятия устройства одним транзактом;
• загрузка устройства (или доля использования) в течение всего
времени моделирования;
• доля (процент) доступности устройства в процессе моделирования;
• количество транзактов, занявших устройство блоком SEIZE;
15
• количество транзактов, захвативших устройство блоком
PREEMPT.
Для накопителей выводятся следующие данные:
• объем накопителя, определенный в модели;
• среднее значение содержимого накопителя за время моделирования;
• количество транзактов, прошедших через накопитель;
• среднее значение времени использования единицы памяти;
• среднее значение загрузки накопителя в течение всего времени
моделирования;
• процент доступности накопителя за время моделирования;
• текущее содержимое накопителя на момент завершения моделирования.
• максимальное содержимое накопителя за время моделирования.
Для очередей выводятся следующие данные:
• максимальное значение длины очереди при моделировании;
• среднее значение длины очереди;
• общее количество транзактов, прошедших через очередь;
• количество "нулей" – транзактов, прошедших через очередь
без задержки;
• процент "нулей" – доля транзактов, прошедших через очередь
с нулевой задержкой;
• среднее значение времени задержки транзакта в очереди с учетом "нулевых" транзактов;
• среднее значение времени задержки транзакта в очереди без
учета "нулевых" транзактов (всегда больше или равно предыдущего
значения, поскольку учитываются только те, которые были в очереди
с ненулевым временем).
Сбор статистики для очередей осуществляется с помощью блоков
QUEUE и DEPART.
16
6. Примерная тематика курсовых работ
6.1. Темы курсовых работ
1. Моделирование работы сборочного участка цеха предприятия.
2. Моделирование и оптимизация работы обрабатывающего
участка цеха.
3. Моделирование и оптимизация работы регулировочного
участка цеха.
4. Моделирование и оптимизация работы системы передачи данных.
5. Моделирование и оптимизация работы системы обработки
информации.
6. Моделирование и оптимизация работы участка термической
обработки.
7. Моделирование и оптимизация работы магистрали передачи
данных.
8. Моделирование и оптимизация работы комплектовочного конвейера сборочного цеха.
9. Моделирование и оптимизация работы системы передачи данных по дуплексному каналу связи.
10. Моделирование и оптимизация работы транспортного цеха
объединения.
11. Моделирование и оптимизация работы специализированной
вычислительной системы.
12. Моделирование и оптимизация работы вычислительного центра.
13. Моделирование и оптимизация работы студенческого машинного зала.
14. Моделирование и оптимизация работы мини-ЭВМ.
15. Моделирование и оптимизация работы системы передачи
цифровой информации.
16. Моделирование и оптимизация работы ЭВМ с тремя терминалами.
17. Моделирование и оптимизация работы узла коммутации сообщений.
18. Моделирование и оптимизация работы распределенного банка
данных системы сбора информации на базе ЭВМ, соединенных дуплексным каналом связи.
17
19. Моделирование и оптимизация работы системы автоматизации проектирования.
20. Моделирование и оптимизация работы литейного цеха на
участке обработки и сборки.
21. Моделирование и оптимизация работы вычислительной система из трех ЭВМ.
22. Моделирование и оптимизация работы вычислительной система из четырех ЭВМ.
23. Моделирование и оптимизация работы вычислительной машины, работающей в системе управления технологическим процессом.
24. Моделирование и оптимизация работы информационнопоисковой библиографической системы.
25. Моделирование и оптимизация работы специализированной
вычислительной системы.
26. Моделирование и оптимизация работы информационной системы реального времени.
27. Моделирование и оптимизация работы системы автоматизации экспериментов (САЭ) на базе мини-ЭВМ.
28. Моделирование и оптимизация работы аэропорта.
29. Моделирование и оптимизация работы склада готовой продукции предприятия.
30. Моделирование и оптимизация работы внутризаводского
транспорта.
31. Моделирование и оптимизация работы справочной телефонной сети города.
32. Моделирование и оптимизация перекрестка по регулированию движения.
33. Моделирование и оптимизация работы одноколейного участка
двухколейной железной дороги.
34. Моделирование и оптимизация работы процесса обработки
деталей на станке.
35. Моделирование и оптимизация работы начала навигации в
морском порту.
6.2. Задания для курсовых работ
Задание 1. На сборочный участок цеха предприятия через интервалы времени, распределенные экспоненциально со средним значением 10 мин, поступают партии деталей, каждая из которых состоит из
18
трех штук. Половина всех поступающих деталей перед сборкой должна пройти предварительную обработку в течение 7 мин. На сборку
подаются обработанная и необработанная детали. Процесс сборки занимает всего 6 мин. Затем изделие поступает на регулировку, продолжающуюся в среднем 8 мин (время выполнения ее распределено экспоненциально). В результате сборки возможно появление 4 % бракованных изделий, которые не поступают на регулировку, а направляются снова на предварительную обработку.
Смоделировать работу участка в течение 24 ч. Определить возможные места появления очередей и их вероятностно-временные характеристики. Выявить причины их возникновения, предложить меры
по их устранению и смоделировать скорректированную систему.
Задание 2. На обрабатывающий участок цеха поступают детали в
среднем через 50 мин. Первичная обработка деталей производится на
одном из двух станков. Первый станок обрабатывает деталь в среднем
40 мин и имеет до 4 % брака, второй соответственно 60 мин и 8 %
брака. Все бракованные детали возвращаются на повторную обработку на второй станок. Детали, попавшие в разряд бракованных дважды,
считаются отходами. Вторичную обработку проводят также два станка в среднем 100 мин каждый. Причем первый станок обрабатывает
имеющиеся в накопителе после первичной обработки детали, а второй
станок подключается при образовании в накопителе задела больше
трех деталей. Все интервалы времени распределены по экспоненциальному закону.
Смоделировать обработку на участке 500 деталей. Определить загрузку второго станка на вторичной обработке и вероятность появления отходов. Определить возможность снижения задела в накопителе
и повышения загрузки второго станка на вторичной обработке.
Задание 3. На регулировочный участок цеха через случайные интервалы времени поступают по два агрегата в среднем через каждые
30 мин. Первичная регулировка осуществляется для двух агрегатов
одновременно и занимает около 30 мин. Если в момент прихода агрегатов предыдущая партия не была обработана, поступившие агрегаты
на регулировку не принимаются. Агрегаты после первичной регулировки, получившие отказ, поступают в промежуточный накопитель.
Из накопителя агрегаты, прошедшие первичную регулировку, поступают попарно на вторичную регулировку, которая выполняется в
среднем за 30 мин, а не прошедшие первичную регулировку поступают на полную, которая занимает 100 мин для одного агрегата. Все ве19
личины, заданные средними значениями, распределены экспоненциально.
Смоделировать работу участка в течение 100 ч. Определить вероятность отказа в первичной регулировке и загрузку накопителя агрегатами, нуждающимися в полной регулировке. Определить параметры
и ввести в систему накопитель, обеспечивающий безотказное обслуживание поступающих агрегатов.
Задание 4. Система передачи данных обеспечивает передачу пакетов данных из пункта Л в пункт С через транзитный пункт В. В
пункт А пакеты поступают через 10 ± 5 мс. Здесь они буферируются в
накопителе емкостью 20 пакетов и передаются по любой из двух линий АВ1— за время 20 мс или АВ2 — за время 20 ± 5 мс. В пункте В
они снова буферируются в накопителе емкостью 25 пакетов и далее
передаются по линиям ВС1 (за 25 ± 3 мс) и ВС2 (за 25 мс). Причем
пакеты из АВ1 поступают в ВС У, а из АВ2— в ВС 2. Чтобы не было
переполнения накопителя, в пункте В вводится пороговое значение
его емкости —20 пакетов. При достижении очередью порогового значения происходит подключение резервной аппаратуры и время передачи снижается для линий ВС! и ВС2 до 15 мс.
Смоделировать прохождение через систему передачи данных 500
пакетов. Определить вероятность подключения резервной аппаратуры
и характеристики очереди пакетов в пункте В. В случае возможности
его переполнения определить необходимое для нормальной работы
пороговое значение емкости накопителя.
Задание 5. Система обработки информации содержит мультиплексный канал и три мини-ЭВМ. Сигналы от датчиков поступают на
вход канала через интервалы времени 10 ± 5 мкс. В канале они буферируются и предварительно обрабатываются в течение 10 ± 3 мкс. Затем они поступают на обработку в ту мини-ЭВМ, где имеется
наименьшая по длине входная очередь. Емкости входных накопителей
во всех мини-ЭВМ рассчитаны на хранение величин 10 сигналов.
Время обработки сигнала в любой мини-ЭВМ равно 33 мкс.
Смоделировать процесс обработки 500 сигналов, поступающих с
датчиков. Определить средние времена задержки сигналов в канале и
мини-ЭВМ и вероятности переполнения входных накопителей. Обеспечить ускорение обработки сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц.
Задание 6. На участке термической обработки выполняются цементация и закаливание шестерен, поступающих через 10 ± 5 мин.
Цементация занимает 10 ± 7 мин, а закаливание — 10 ± б мин. Каче20
ство определяется суммарным временем обработки. Шестерни с временем обработки больше 25 мин покидают участок, с временем обработки от 20 до 25 мин передаются на повторную закалку и при времени обработки меньше 20 мин должны пройти повторную полную обработку. Детали с суммарным временем обработки меньше 20 мин
считаются вторым сортом.
Смоделировать процесс обработки на участке 400 шестерен.
Определить функцию распределения времени обработки и вероятности повторения полной и частичной обработки. При выходе продукции без повторной обработки менее 90 % обеспечить на участке
мероприятия, дающие гарантированный выход продукции первого
сорта 90 %.
Задание 7. Магистраль передачи данных состоит из двух каналов
(основного и резервного) и общего накопителя. При нормальной работе сообщения передаются по основному каналу за 7 ± 3 с. В основном
канале происходят сбои через интервалы времени 200 ± 35 с. Если
сбой происходит во время передачи, то за 2 с запускается запасной
канал, который передает прерванное сообщение с самого начала. Восстановление основного канала занимает 23 ± 7 с. После восстановления резервный канал выключается и основной канал продолжает работу с очередного сообщения. Сообщения поступают через 9 ± 4 с и
остаются в накопителе до окончания передачи. В случае сбоя передаваемое сообщение передается повторно по запасному каналу.
Смоделировать работу магистрали передачи данных в течение
1 ч. Определить загрузку запасного канала, частоту отказов канала и
число прерванных сообщений. Определить функцию распределения
времени передачи сообщений по магистрали.
Задание 8. На комплектовочный конвейер сборочного цеха каждые 5 ± 1 мин поступают 5 изделий первого типа и каждые 20 ± 7 мин
поступают 20 изделий второго типа. Конвейер состоит из секций,
вмещающих по 10 изделий каждого типа. Комплектация начинается
только при наличии деталей обоих типов в требуемом количестве и
длится 10 мин. При нехватке деталей секция конвейера остается пустой.
Смоделировать работу конвейера сборочного цеха в течение 8 ч.
Определить вероятность пропуска секции, средние и максимальные
очереди по каждому типу изделий. Определить экономическую целесообразность перехода на секции по 20 изделий с временем комплектации 20 мин.
21
Задание 9. В системе передачи данных осуществляется обмен пакетами данных между пунктами Л и В по дуплексному каналу связи.
Пакеты поступают в пункты системы от абонентов с интервалами
времени между ними 10 ± 3 мс. Передача пакета занимает 10 мс. В
пунктах имеются буферные регистры, которые могут хранить два пакета (включая передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу
пакетов данных за 10 ± 5 мс. При занятости спутниковой линии пакет
получает отказ.
Смоделировать обмен информацией в системе передачи данных в
течение 1 мин. Определить частоту вызовов спутниковой линии и ее
загрузку. В случае возможности отказов определить необходимый для
безотказной работы системы объем буферных регистров.
Задание 10. Транспортный цех объединения обслуживает три филиала А, В и С. Грузовики перевозят изделия из А в В и из и в С, возвращаясь затем в А без груза. Погрузка в А занимает 20 мин, переезд
из А в В длится 30 мин, разгрузка и погрузка в В — 40 мин, переезд в
С — 30 мин, разгрузка в С— 20 мин и переезд в Л — 20 мин. Если к
моменту погрузки в Л и В отсутствуют изделия, грузовики уходят
дальше по маршруту. Изделия в Л выпускаются партиями по 1000 шт.
через 20 ± 3 мин, в В — такими же партиями через 20 ± 5 мин. На линии работает 8 грузовиков, каждый перевозит 1000 изделий. В
начальный момент все грузовики находятся в Л.
Смоделировать работу транспортного цеха объединения в течение 1000 ч. Определить частоту пустых перегонов грузовиков между
Л и В, В и С и сравнить с характеристиками, полученными при равномерном начальном распределении грузовиков между филиалами и
операциями.
Задание 11. Специализированная вычислительная система состоит из трех процессоров и общей оперативной памяти. Задания, поступающие на обработку через интервалы времени 5 ± 2 мин, занимают
объем оперативной памяти размером в страницу. После трансляции
первым процессором в течение 5 ± 1 мин их объем увеличивается до
двух страниц и они поступают в оперативную память. Затем после
редактирования во втором процессоре, которое занимает 2,5 ± 0,5 мин
на страницу, объем возрастает до трех страниц. Отредактированные
задания через оперативную память поступают в третий процессор на
решение, требующее 1,5 ± 0,4 мин на страницу, и покидают систему,
минуя оперативную память.
22
Смоделировать работу вычислительной системы в течение 50 ч.
Определить характеристики занятия оперативной памяти по всем трем
видам заданий.
Задание 12. На вычислительном центре в обработку принимаются
три класса заданий А, В и С. Исходя из наличия оперативной памяти
ЭВМ задания классов А и В могут решаться одновременно, а задания класса С монополизируют ЭВМ. Задания класса Л поступают
через 20 ± 5 мин, класса В — через 20 ± 10 мин и класса С — через
30 ± 10 мин и требуют для выполнения: класс Л — 20 ± 5 мин, класс В
— 21 ± 3 мин и класс С — 28 ± 5 мин. Задачи класса С загружаются в
ЭВМ, если она полностью свободна. Задачи классов Л и В могут дозагружаться к решающейся задаче.
Смоделировать работу ЭВМ за 80 ч. Определить ее загрузку.
Задание 13. В студенческом машинном зале расположены две
мини-ЭВМ и одно устройство подготовки данных (УПД). Студенты
приходят с интервалом в 8 ± 2 мин и треть из них хочет использовать
УПД и ЭВМ, а остальные только ЭВМ. Допустимая очередь в машинном зале составляет четыре человека, включая работающего на УПД.
Работа на УПД занимает 8 ± 1 мин, а на ЭВМ —17 мин. Кроме того,
20 % работавших на ЭВМ возвращается для повторного использования УПД и ЭВМ.
Смоделировать работу машинного зала в течение 60 ч. Определить загрузку УПД, ЭВМ и вероятности отказа в обслуживании вследствие переполнения очереди. Определить соотношение желающих
работать на ЭВМ и на УПД в очереди.
Задание 14. К миниЭВМ подключено четыре терминала, с которых осуществляется решение задач. По команде с терминала выполняют операции редактирования, трансляции, планирования и решения.
Причем, если хоть один терминал выполняет планирование, остальные вынуждены простаивать из-за нехватки оперативной памяти. Если два терминала выдают требование на решение, то оставшиеся два
простаивают, и если работают три терминала, выдающих задания на
трансляцию, то оставшийся терминал блокируется. Интенсивности
поступления задач различных типов равны. Задачи одного типа от
одного терминала поступают через экспоненциально распределенные
интервалы времени со средним значением 160 с. Выполнение любой
операции длится 10 с.
Смоделировать работу мини-ЭВМ в течение 4 ч. Определить загрузку процессора, вероятности простоя терминалов и частоту одновременного выполнения трансляции с трех терминалов.
23
Задание 15. В системе передачи цифровой информации передается речь в цифровом виде. Речевые пакеты передаются через два транзитных канала, буферируясь в накопителях перед каждым каналом.
Время передачи пакета по каналу составляет 5 мс. Пакеты поступают
через 6 ± 3 мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются, так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30 % пакетов
недопустимо. При достижении такого уровня система за счет ресурсов
ускоряет передачу до 4 мс на канал. При снижении уровня до приемлемого происходит отключение ресурсов.
Смоделировать 10 с работы системы. Определить частоту уничтожения пакетов и частоту подключения ресурса.
Задание 16. ЭВМ обслуживает три терминала по круговому циклическому алгоритму, предоставляя каждому терминалу 30 с. Если в
течение этого времени задание обрабатывается, то обслуживание завершается; если нет, то остаток задачи становится в специальную очередь, которая использует свободные циклы терминалов, т. е. задача
обслуживается, если на каком-либо терминале нет заявок. Заявки на
терминалы поступают через 30 ± 5 с и имеют длину 300 ± 50 знаков.
Скорость обработки заданий ЭВМ равна 10 знаков/с.
Смоделировать 5 ч работы ЭВМ. Определить загрузку ЭВМ, параметры очереди неоконченных заданий. Определить величину цикла
терминала, при которой все заявки будут обслужены без специальной
очереди.
Задание 17. В узел коммутации сообщений, состоящий из входного буфера, процессора, двух исходящих буферов и двух выходных линий, поступают сообщения с двух направлений. Сообщения с одного
направления поступают во входной буфер, обрабатываются в процессоре, буферируются в выходном буфере первой линии и передаются
по выходной линии. Сообщения со второго направления обрабатываются аналогично, но передаются по второй выходной линии. Применяемый метод контроля потоков требует одновременного присутствия
в системе не более трех сообщений на каждом направлении. Сообщения поступают через интервалы 15 ± 7 мс. Время обработки в процессоре равно 7 мс на сообщение, время передачи по выходной линии
равно 15 ± 5 мс. Если сообщение поступает при наличии трех сообщений в направлении, то оно получает отказ.
Смоделировать работу узла коммутации в течение 10 с. Определить загрузки устройств и вероятность отказа в обслуживании , из-за
переполнения буфера направления. Определить изменения в функции
24
распределения времени передачи при снятии ограничений, вносимых
методом контроля потоков.
Задание 18. Распределенный банк данных системы сбора информации организован на базе ЭВМ, соединенных дуплексным каналом
связи. Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50 % необходимая информация обнаруживается на месте. В
противном случае необходима посылка запроса во вторую ЭВМ.
Запросы поступают через 10 ± 3с, первичная обработка запроса занимает 2 с, выдача ответа требует 18 ± 2с, передача по каналу связи занимает 3 с. Временные характеристики второй ЭВМ аналогичны первой.
Смоделировать прохождение 400 запросов. Определить необходимую емкость накопителей перед ЭВМ, обеспечивающую безотказную работу системы, и функцию распределения времени обслуживания заявки.
Задание 19. Система автоматизации проектирования состоит из
ЭВМ и трех терминалов. Каждый проектировщик формирует задание
на расчет в интерактивном режиме. Набор строки задания занимает
10 ± 5 с. Получение ответа на строку требует 3 с работы ЭВМ и 5 с
работы терминала. После набора десяти строк задание считается
сформированным и поступает на решение, при этом в течение 10 ± 3 с
ЭВМ прекращает выработку ответов на вводимые строки. Вывод результата требует 8 с работы терминала. Анализ результата занимает у
проектировщика 30 с, после чего цикл повторяется.
Смоделировать работу системы в течение 6 ч. Определить вероятность простоя проектировщика из-за занятости ЭВМ и коэффициент
загрузки ЭВМ.
Задание 20. Из литейного цеха на участок обработки и сборки поступают заготовки через 20 ± 5 мин. Треть из них обрабатывается в
течение 60 мин и поступает на комплектацию. Две трети заготовок
обрабатывается за 30 мин перед комплектацией, которая требует
наличия одной детали первого типа и двух деталей второго. После
этого все три детали подаются на сборку, которая занимает 60 ± 2 мин
для первой детали и 60 ± 8 мин для двух других, причем они участвуют в сборке одновременно. При наличии на выходе одновременно
всех трех деталей изделие покидает участок.
Смоделировать работу участка в течение 100 ч. Определить места
образования и характеристики возможных очередей.
Задание 21. Детали, необходимые для работы цеха, находятся на
цеховом и центральном складах. На цеховом складе хранится 20 ком25
плектов деталей, потребность в которых возникает через 60 ± 10 мин и
составляет один комплект. В случае снижения запасов до трех комплектов формируется в течение 60 мин заявка на пополнение запасов
цехового склада до полного объема в 20 комплектов, которая посылается на центральный склад, где в течение 60 ± 20 мин происходит
комплектование и за 60 ± 5 мин осуществляется доставка деталей в
цех. Смоделировать работу цеха в течение 400 ч. Определить вероятность простоя цеха из-за отсутствия деталей и среднюю загрузку цехового склада. Определить момент пополнения запаса цехового склада, при котором вероятность простоя цеха будет равна 0.
Задание 22. Для обеспечения надежности АСУ ТП в ней используется две ЭВМ. Первая ЭВМ выполняет обработку данных о
технологическом процессе и выработку управляющих сигналов, а
вторая находится в «горячем резерве». Данные в ЭВМ поступают через 10 ± 2 с, обрабатываются в течение 3 с, затем посылается управляющий сигнал, поддерживающий заданный темп процесса. Если к
моменту посылки следующего набора данных не получен управляющий сигнал, то интенсивность выполнения технологического процесса
уменьшается вдвое и данные посылаются через 20 ± 4 с. Основная
ЭВМ каждые 30 с посылает резервной ЭВМ сигнал о работоспособности. Отсутствие сигнала означает необходимость включения резервной ЭВМ вместо основной. Характеристики обеих ЭВМ одинаковы.
Подключение резервной ЭВМ занимает 5 с, после чего она заменяет
основную до восстановления, а процесс возвращается к нормальному
темпу. Отказы ЭВМ происходят через 300 ± 30 с. Восстановление занимает 100 с. Резервная ЭВМ абсолютно надежна.
Смоделировать 1 ч работы системы. Определить среднее время
нахождения технологического процесса в заторможенном состоянии и
среднее число пропущенных из-за отказов данных.
Задание 23. На вычислительный центр через 300 ± 100 с поступают задания длиной 500 ± 200 байт. Скорость ввода, вывода и обработки заданий 100 байт/мин. Задания проходят последовательно ввод,
обработку и вывод, буферируясь перед каждой операцией. После вывода 5 % заданий оказываются выполненными неправильно вследствие сбоев и возвращаются на ввод. Для ускорения обработки задания в очередях располагаются по возрастанию их длины, т. е. короткие сообщения обслуживают в первую очередь. Задания, выполненные неверно, возвращаются на ввод и во всех очередях обслуживаются первыми.
26
Смоделировать работу вычислительного центра в течение 30 ч.
Определить необходимую емкость буферов и функцию распределения
времени обслуживания заданий.
Задание 24. Вычислительная система включает три ЭВМ. В систему в среднем через 30 с поступают задания, которые попадают в
очередь на обработку к первой ЭВМ, где они обрабатываются около
30 с. После этого задание поступает одновременно во вторую и третью ЭВМ. Вторая ЭВМ может обработать задание за 14 ± 5 с, а третья
— за 16 ± 1с. Окончание обработки задания на любой ЭВМ означает
снятие ее с решения с той и другой машины. В свободное время вторая и третья ЭВМ заняты обработкой фоновых задач.
Смоделировать 4 ч работы системы. Определить необходимую
емкость накопителей перед всеми ЭВМ, коэффициенты загрузки ЭВМ
и функцию распределения времени обслуживания заданий. Определить производительность второй и третьей ЭВМ на решении фоновых
задач при условии, что одна фоновая задача решается 2 мин.
Задание 25. В машинный зал с интервалом времени 10 ± 5 мин
заходят пользователи, желающие произвести расчеты на ЭВМ. В зале имеется одна ЭВМ, работающая в однопрограммном режиме. Время, необходимое для решения задач, включая вывод результатов на
печать, характеризуется интервалом 15 ± 5 мин. Третья часть пользователей после окончания решения своей задачи производит вывод текста программы на печать (продолжительность перфорации
— 3 ± 2 мин). В машинном зале не допускается, чтобы более семи
пользователей ожидали своей очереди на доступ к ЭВМ. Вывод программы на печать не мешает проведению расчетов на ЭВМ.
Смоделировать процесс обслуживания 100 пользователей. Подсчитать число пользователей, не нашедших свободного места в очереди. Определить среднее число пользователей в очереди, а также коэффициенты загрузки ЭВМ и принтера.
Задание 26. В вычислительную машину, работающую в системе
управления технологическим процессом, через каждые 3 ± 1 с поступает информация от датчиков и измерительных устройств. До обработки на ЭВМ информационные сообщения накапливаются в буферной памяти емкостью в одно сообщение. Продолжительность обработки сообщений на ЭВМ — 5 ± 2 с. Динамика технологического
процесса такова, что имеет смысл обрабатывать сообщения, ожидавшие в буферной памяти не более 12 с. Остальные сообщения считаются потерянными.
27
Смоделировать процесс поступления в ЭВМ 200 сообщений.
Подсчитать число потерянных сообщений и определить коэффициент
загрузки ЭВМ.
Задание 27. Вычислительная система состоит из трех ЭВМ. С интервалом 3 ± 1 мин в систему поступают задания, которые с вероятностями Р1=0,4, Р2=Р3=0,3 адресуются одной из трех ЭВМ. Перед каждой
ЭВМ имеется очередь заданий, длина которой не ограничена. После
обработки задания на первой ЭВМ оно с вероятностью P12=0,3 поступает в очередь ко второй ЭВМ и с вероятностью P13=0,7—в очередь к
третьей ЭВМ. После обработки на второй или третьей ЭВМ задание
считается выполненным. Продолжительность обработки заданий на
разных ЭВМ характеризуется интервалами времени: T1=7 ± 4 мин, Т2
= 3 ± 1 мин, T3 = 5 ± 2 мин. Смоделировать процесс обработки 200 заданий. Определить максимальную длину каждой очереди и коэффициенты загрузки ЭВМ.
Задание 28. Информационно-поисковая библиографическая система построена на базе двух ЭВМ и имеет один терминал для ввода и
вывода информации. Первая ЭВМ обеспечивает поиск литературы по
научно-техническим проблемам (вероятность обращения к ней—0,7),
а вторая—по медицинским (вероятность обращения к ней—0,3).
Пользователи обращаются к услугам системы каждые 5 ± 2 мин. Если
в очереди к терминалу ожидают 10 пользователей, то вновь прибывшие пользователи получают отказ в обслуживании. Поиск информации на первой ЭВМ продолжается 6 ± 4 мин, а на второй 3 ± 2 мин.
Для установления связи с нужной ЭВМ и передачи текста запроса
пользователи тратят 2 ± 1 мин. Вывод результатов поиска происходит
за 1 мин.
Смоделировать процесс работы системы за 8 ч. Определить среднюю и максимальную длину очереди к терминалу, а также коэффициенты загрузки технических средств системы. Как изменятся параметры очереди к терминалу, если будет установлен еще один терминал?
Задание 29. В специализированной вычислительной системе периодически выполняются три вида заданий, которые характеризуются
уровнями приоритета: нулевым, первым и вторым. Каждый новый запуск задания оператор производит при помощи дисплея, работая на
нем 50 ± 30 с. После запуска задания оно требует для своего выполнения 100 ± 50 с времени работы процессора, причем задания более высокого приоритета прерывают выполнение задач более низкого приоритета. Результаты обработки задания выводятся на печать без прерываний в течение 30 ± 10 с, после чего производится их анализ в тече28
ние 60 ± 20 с, и задание запускается снова. Можно считать, что при
работе дисплея и при выводе результатов на печать процессор не используется.
Смоделировать процесс работы системы при условии, что задание
второго уровня приоритета выполняется 100 раз. Подсчитать число
циклов выполнения остальных заданий и определить коэффициенты
загрузки технических средств системы.
Задание 30. Задания на обработку данных, поступающие на
ЭВМ характеризуются известным требуемым временем работы
процессора и условно подразделяются на короткие и длинные. Короткие задания требуют менее 6 мин времени работы процессора.
Задания поступают на ЭВМ через каждые 8 ± 3 мин и требуют
для своей обработки 4 ± 3 мин времени работы процессора. Короткие задания вводятся в ЭВМ с помощью дисплея за 3 ± 2 мин. Дисплей остается занятым коротким заданием до момента окончания выдачи результатов на печать. Короткие задания имеют абсолютный
приоритет над длинным при использовании процессора, т. е. они прерывают выполнение длинных заданий. Длинные задания перфорируются за 8 ± 5 мин и вводятся в ЭВМ с помощью перфокарточного ввода за 3 ± 2 мин. После обработки на процессоре как коротких, так и
длинных заданий производится вывод результатов на печать в течение 2 ±1 мин. Одновременно на ЭВМ обрабатывается только одно задание.
Смоделировать процесс функционирования ВЦ при условии, что
обработать необходимо 100 заданий. Определить число коротких и
длинных заданий, ожидающих обработки, а также число обработанных коротких заданий и коэффициент загрузки процессора.
Задание 31. В ВЦ имеются три ЭВМ. Задания на обработку поступают с интервалом 20 ± 5 мин в пункт приема. Здесь в течение
12 ± 3 мин они регистрируются и сортируются оператором, после чего
каждое задание поступает на одну .из свободных ЭВМ. Примерно в
70 % заданий в результате их первой обработки на ЭВМ обнаруживаются ошибки ввода, которые сразу же в течение 3 ± 2 мин исправляются пользователями. На время корректировки ввода задание не освобождает соответствующей ЭВМ, и после корректировки начинается
его повторная обработка. Возможность ошибки при повторной обработке исключается, т. е. повторная обработка всегда является окончательной. Продолжительность работы ЭВМ при обработке задания в
каждом случае составляет 10 ± 5 мин. В центре имеется лишь одно
рабочее место для корректировки ввода.
29
Смоделировать процесс функционирования ВЦ при условии, что
обработать необходимо 100 заданий. Определить среднее время ожидания в очереди на обработку, а также коэффициенты загрузки технических средств ВЦ.
Задание 32. Информационная система реального времени состоит
из центрального процессора (ЦП), основной памяти (ОП) емкостью
10000 байтов и накопителя на магнитных дисках (МД). Запросы от
большого числа удаленных терминалов поступают каждые 75 ± 25 мс
и обрабатываются на ЦП за время 1 мс. После этого каждый запрос
помещается в ОП либо получает отказ в обслуживании, если ОП заполнена (каждый запрос занимает 200 байтов памяти). Для обслуживаемых запросов производится поиск информации на МД за время
120 ± 25 мс и ее считывание за время 10 ± 5 мс. Работа с МД не требует вмешательства ЦП. Для подготовки ответа необходима работа ЦП в
течение 5 мс. После этого запрос считается обслуженным и освобождает место в ОП. Смоделировать процесс обслуживания 100 запросов. Подсчитать число запросов, получивших отказ в обслуживании.
Определить среднее и максимальное содержимое ОП, а также коэффициент загрузки МД.
Задание 33. Для ускорения прохождения «коротких» заданий на
ЭВМ выбран пакетный режим работы с квантованием времени процессора. Это значит, что всем заданиям пакета по очереди представляется процессор на одинаковое время 10 с (круговой циклический алгоритм разделения времени). Если в течение этого времени заканчивается выполнение задания, оно покидает систему и освобождает процессор. Если же очередного кванта времени не хватает для завершения задания, оно помещается в конец очереди — пакета. Последнее
задание пакета выполняется без прерываний. Пакет считается готовым
к вводу в ЭВМ, если в нем содержится 5 заданий. Новый пакет вводится в ЭВМ после окончания обработки предыдущего. Задания поступают в систему с интервалом времени 60 ± 30 с и характеризуется
временем работы процессора 50 ± 45 с.
Смоделировать процесс обработки 200 заданий. Определить максимальную длину очереди готовых к обработке пакетов и коэффициент загрузки ЭВМ. Сравнить время прохождения «коротких» заданий,
требующих до 10 с времени работы процессора, с временем прохождения «длинных» заданий, требующих свыше 90 с времени работы
процессора.
Задание 34. Система автоматизации проектирования (САПР) создана на базе ЭВМ, функционирующей в режиме множественного до30
ступа. Пятеро инженеров-проектировщиков с помощью своих дисплеев одновременно и независимо проводят диалог с ЭВМ, определяя
очередной вариант расчета. Каждый диалог состоит из 10 циклов ввода-вывода данных. Во время одного цикла происходит следующее:
за 10 ± 5с инженер обдумывает и вводит текст строки; в течение 2 с
работает процессор ЭВМ, подготавливая текст ответа; в течение 5 с
текст ответа выводится на дисплей. После ввода 11-й строки начинается работа процессора по расчету конструкции и продолжается
30± 10 с. За 5 с результат расчета выводится на экран, после чего инженер в течение 15 ± 5 с анализирует его и начинает новый диалог.
Операции по подготовке текста ответа имеют абсолютный приоритет
над расчетными, т. е. прерывают выполнение последних.
Смоделировать процесс работы САПР при условии, что расчет
вариантов конструкции повторяется 100 раз. Определить среднее время выполнения диалога и расчетных операций, а также коэффициент
загрузки процессора.
Задание 35. Распределенный банк данных организован на базе
трех удаленных друг от друга вычислительных центров А, В и С. Все
центры связаны между собой каналами передачи информации, работающими в дуплексном режиме независимо друг от друга. В каждый
из центров с интервалом времени 50 ± 20 мин поступают заявки на
проведение информационного поиска.
Если ЭВМ центра, получившего заявку от пользователя, свободна, в течение 2 ± 1 мин производится ее предварительная обработка, в
результате которой формируются запросы для центров Л, В и С. В
центре, получившем заявку от пользователя, начинается поиск информации по запросу, а на другие центры по соответствующим каналам передаются за 1 мин тексты запросов, после чего там также может
начаться поиск информации, который продолжается: в центре А —
5 ± 2 мин, в центре В—10 ± 2 мин, в центре С—15 ± 2 мин. Тексты
ответов передаются за 2 мин по соответствующим каналам в центр,
получивший заявку на поиск. Заявка считается выполненной, если получены ответы от всех трех центров. Каналы при своей работе не используют ресурсы ЭВМ центров.
Смоделировать процесс функционирования распределенного банка данных при условии, что всего обслуживается 100 заявок. Подсчитать число заявок, поступивших и обслуженных в каждом центре.
Определить коэффициенты загрузки ЭВМ центров.
Задание 36. В системе автоматизации экспериментов (САЭ) на
базе мини-ЭВМ данные от измерительных устройств поступают в бу31
ферную зону оперативной памяти каждые 800 ± 400 мс. Объем буфера
—256 байт, длина одного информационного сообщения —2 байта.
Для записи сообщения в буфер требуется 20 мс времени работы процессора. После заполнения буфера его содержимое переписывается на
магнитный диск (МД), для чего сначала необходима работа процессора в течение 30 мс, а потом — совместная работа процессора и накопителя на МД в течение 100 ± 30 мс. Для обработки каждой новой
порции информации на МД, объем которой равен 2560 байт, запускается специальная программа, требующая 100 ± 20 с времени работы
процессора. Эта программа имеет самый низкий приоритет и прерывается программами сбора и переписи данных на МД.
Смоделировать процесс сбора и обработки данных с САЭ при
условии, что обработать необходимо 5 порций информации. Зафиксировать длительность выполненной программы обработки и определить, сколько раз ее выполнение было прервано.
Задание 37. Специализированное вычислительное устройство,
работающее в режиме реального времени, имеет в своем составе два
процессора, соединенные с общей оперативной памятью. В режиме
нормальной эксплуатации задания выполняются на первом процессоре, а второй является резервным. Первый процессор характеризуется низкой надежностью и работает безотказно лишь в течение
150 ± 20 мин. Если отказ происходит во время решения задания, в течение 2 мин производится включение второго процессора, который
продолжает решение прерванного задания, а также решает и последующие задания до восстановления первого процессора. Это восстановление происходит за 20 ± 10 мин, после чего начинается решение очередного задания на первом процессоре, а резервный выключается. Задания поступают на устройство каждые 10 ± 5 мин и решаются за 5
± 2 мин. Надежность резервного процессора считается идеальной.
Смоделировать процесс работы устройства в течение 50 ч. Подсчитать число решенных заданий, число отказов процессора и число
прерванных заданий. Определить максимальную длину очереди заданий и коэффициент загрузки резервного процессора.
Задание 38. Самолеты прибывают для посадки в район крупного
аэропорта каждые 10 ± 5 мин. Если взлетно-посадочная полоса свободна, прибывший самолет получает разрешение на посадку. Если
полоса занята, самолет выполняет полет по кругу и возвращается к
аэропорту через каждые 4 мин. Если после пятого круга самолет не
получает разрешения на посадку, он отправляется на запасной аэродром. В аэропорту через каждые 10 ± 2 мин к взлетно-посадочной по32
лосе выруливают готовые к взлету машины и получают разрешение на
взлет, если полоса свободна. Для взлета и посадки самолеты занимают
полосу ровно на 2 мин. Если при свободной полосе одновременно
один самолет прибывает для посадки, а другой — для взлета, полоса
предоставляется взлетающей машине.
Смоделировать работу аэропорта в течение суток. Подсчитать количество самолетов, которые взлетели, сели и были направлены на
запасной аэродром. Определить коэффициент загрузки взлетнопосадочной полосы.
Задание 39. На склад готовой продукции предприятия каждые
5 ± 2 мин поступают изделия типа А партиями по 500 штук, а каждые
20 ± 5 мин — изделия типа В партиями по 2000 штук. С интервалом
времени 10 ± 5 мин к складу подъезжают автомашины, в каждую из
которых надо погрузить по 1000 штук изделий типа А и В. Погрузка
начинается, если изделия обоих типов имеются на складе в нужном
количестве, и продолжается 10 ± 2 мин. У склада одновременно могут
находиться не более трех автомашин, включая автомашину, стоящую
под погрузкой. Автомашины, не нашедшие места у склада, уезжают с
его территории без груза.
Смоделировать работу склада при условии, что загрузиться
должны 50 автомашин. Подсчитать число автомашин, уехавших без
груза. Определить среднее и максимальное количество изделий каждого типа, хранящихся на складе.
Задание 40. Диспетчер управляет внутризаводским транспортом и
имеет в своем распоряжении два грузовика. Заявки на перевозки поступают к диспетчеру каждые 5 ± 4 мин. С вероятностью 0,5 диспетчер запрашивает по радио один из грузовиков и передает ему заявку,
если тот свободен. В противном случае он запрашивает другой грузовик и таким образом продолжает сеансы связи, пока один из грузовиков не освободится. Каждый сеанс связи длится ровно 1 мин. Диспетчер допускает накопление у себя до пяти заявок, после чего вновь
прибывшие заявки получают отказ. Грузовики выполняют заявки на
перевозку за 12 ± 8 мин.
Смоделировать работу внутризаводского транспорта в течение 10
час. Подсчитать число обслуженных и отклоненных заявок. Определить коэффициенты загрузки грузовиков.
Задание 41. Пять операторов работают в справочной телефонной
сети города, сообщая номера телефонов по запросам абонентов, которые обращаются по одному номеру 09. Автоматический коммутатор
переключает абонента на того оператора, в очереди которого ожидает
33
наименьшее количество абонентов, причем наибольшая допустимая
длина очереди перед оператором — два абонента. Если все очереди
имеют максимальную длину, вновь поступивший вызов получает отказ. Обслуживание абонентов операторами длится 30 ± 20 с. Вызовы
поступают в справочную через каждые 5 ± 3 с.
Смоделировать обслуживание 200 вызовов. Подсчитать количество отказов. Определить коэффициенты загрузки операторов справочной.
Задание 42. Улицы, выходящие на четырехсторонний перекресток, имеют обозначения по направлению движения часовой стрелки: А, В, С и D. Со стороны улицы А машины подходят к перекрестку
каждые 3 ± 2 с, причем 30 % из них поворачивают направо в направлении А—D, а 20 % — налево в направлении А — В. Поворот налево
возможен, если нет движения в направлении С—А. Со стороны улицы
В машины подходят к перекрестку каждые б ± 2 с, причем 60 % из них
проезжают прямо в направлении С—Л, а 40 % —направо в направлении С — В. Поворот налево в направлении С — D запрещен. Светофор на перекрестке переключается каждые 20 с. Ширина всех улиц
допускает движение в три ряда в каждом направлении. Машины преодолевают перекресток в любом направлении за 2 с. Машина, выехавшая на перекресток до момента переключения светофора, обязательно продолжает свое движение. На перекрестке одновременно может находиться не более одной машины для каждого направления
движения.
Смоделировать работу перекрестка по регулированию движения со стороны улиц Л и С в течение получаса. Подсчитать число машин, проследовавших в каждом направлении. Определить среднюю и
максимальную длину очереди машин для каждого направления движения.
Задание 43. Двухколейная железная дорога имеет между станциями Л и В одноколейный участок с разъездом С. На разъезде имеется
запасной путь, на котором один состав может пропустить встречный
поезд. К станциям Л и В поезда прибывают с двухколейных участков
каждые 40 ± 10 мин. Участок пути АС поезда преодолевают за 15 ± 3
мин, а участок пути ВС — за 20 ± 3 мин. Со станций Л и В поезда
пропускаются на одноколейный участок до разъезда только при условии, что участок свободен, а на разъезде не стоит состав. После остановки на разъезде поезда пропускаются на участок сразу после его
освобождения. Поезд останавливается на разъезде, если по лежащему
впереди него участку пути движется встречный поезд.
34
Смоделировать работу одноколейного участка железной дороги
при условии, что в направлении АВ через него должны проследовать
50 составов. Определить среднее время ожидания составов на станциях Л и 5, а также среднее время ожидания на разъезде С и коэффициент загрузки запасного пути.
Задание 44. С интервалом времени 5 ± 2 мин детали поштучно
поступают к станку на обработку и до начала обработки хранятся
на рабочем столе, который вмещает 3 детали. Если свободных
мест на столе нет, вновь поступающие детали укладываются в тележку, которая вмещает 5 деталей. Если тележка заполняется до нормы,
ее увозят к другим станкам, а на ее место через 8 ± 3 мин ставят порожнюю тележку. Если во время отсутствия тележки поступает очередная деталь и не находит на столе места, она переправляется к другому станку. Рабочий берет детали на обработку в первую очередь из
тележки, а если она пуста — со стола. Обработка деталей производится за 10 ± 5 мин.
Смоделировать процесс обработки на станке 100 деталей. Подсчитать число заполненных тележек и число деталей, поштучно переправленных к другому станку.
Задание 45. В морском порту имеются два причала: старый и новый. У старого причала одновременно могут швартоваться два судна.
Здесь работают два портальных крана, производящие разгрузку —
погрузку судна за 40 ± 10 ч. У нового причала имеется место для пяти
судов. Здесь работают три крана, производящие разгрузку — погрузку
за 20 ± 5 ч. Суда прибывают в акваторию порта каждые 5 ± 3 ч, причем около 40 % из них составляют суда, имеющие приоритет в обслуживании. В ожидании места у причала судно бросает якорь на рейде.
Для швартовки и отхода судна от причала требуется по 1 часу времени. Судам, имеющим приоритет в обслуживании, место у причала
предоставляется в первую очередь. Разгрузку — погрузку судна всегда производит один кран.
Смоделировать процесс начала навигации в морском порту при
условии, что в акваторию порта зашли 150 судов. Подсчитать число
судов, обслуженных на каждом причале, и зафиксировать максимальное количество судов на рейде. Определить среднее время ожидания
места у причала отдельно для судов, имеющих и не имеющих приоритета в обслуживании, а также коэффициенты загрузки портальных
кранов.
35
Литература
Основная литература
1. Бережная Е. В., Бережной В. И. Математические методы моделирования экономических систем: Учеб. пособие. М.: Финансы и
статистика, 2001. – 368 с.: ил.
2. Боев В. Д. Моделирование систем. Инструментальные средства GPSS World. Санкт-Петербург: BHV-Санкт-Петербург, 2004 г. −
368 с.
3. Емельянов А. А. и др. Имитационное моделирование экономических процессов: Учебное пособие / А. А. Емельянов, Е. А. Власова, Р. В. Дума; под ред. А. А. Емельянова. М.: Финансы и статистика,
2004. – 368 с.: ил.
4. Кобелев Н. Б. Основы имитационного моделирования сложных экономических систем: Учеб. Пособие. М.: Дело, 2003. – 336 с.
5. Кудрявцев Е. М. GPSS World. Основы имитационного моделирования различных систем. М.: ДМК Пресс, 2003. – 320 с.
Дополнительная литература
1. Асеев А. А., Боев В. Д., Кулешов И. А., Сеченев Д. М. Основы
моделирования систем связи и автоматизации на GPSS/PC: Учеб. пособие. СПб.: ВУС, 2000. − 230 с.
2. Бусленко Н. П. Моделирование сложных систем. М.: Наука,
1978. – 400 с.
3. Емельянов А. А., Власова Е. А. Имитационное моделирование
в экономических информационных системах. М.: МЭСИ, 1996. –108 с.
4. Нейлор Т. Машинные имитационные эксперименты с моделями экономических систем. М.: Мир, 1975.
5. Неймарк Ю. И., Коган Н. Я., Савельев В. П. Динамические
модели теории управления. М.: Наука, 1985.
6. Максимей И. В. Имитационное моделирование на ЭВМ. М.:
Радио и связь, 1988. – 323 с.
7. Руководство пользователя по GPSS World. / Перевод с английского/. Казань: Изд-во «Мастер Лайн», 2002. – 384 с.
8. Семененко М. Г. Введение в математическое моделирование.
М.: СОЛОН-Р, 2002. – 112 с.
9. Соболь И. М. Метод Монте-Карло. М.: Наука, 1968. – 64 с.
36
10. Советов Б. Я. Моделирование систем. Практикум: Учебное
пособие для вузов/ Б. Я. Советов, С. А. Яковлев. – 2-е изд., перераб. и
доп. М.: Высш. шк., 2003. – 295 с.:ил.
11. Советов Б. Я., Яковлев С. А. Моделирование систем: учебник
для вузов. М.: Высш. шк., 2001. – 395 с.
12. Учебное пособие по GPSS World. / Перевод с английского /
Казань: Изд-во «Мастер Лайн», 2002. – 270 с.
13. Шрайбер Г. Дж. Моделирование на GPSS. М.: Машиностроение, 1980. – 592 с.
37
Приложение 1
ЯЗЫК ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ GPSS 1.
ФУНКЦИОНАЛЬНАЯ СТРУКТУРА GPSS
Система GPSS ориентирована на класс объектов, процесс функционирования которых можно представить в виде множества состояний и правил перехода из одного состояния в другое, определяемых в
дискретной пространственно-временной области. Примерами таких
объектов являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины, предприятия и т. п. В качестве формальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети, сети Петри и макросети, агрегаты и т. п.
В состав GPSS входят следующие типы объектов: транзакты,
блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Любую модель на языке GPSS
можно представить в виде комбинации компонентов, взятых из числа
названных объектов. Модель имеет три уровня представления:
- верхний уровень, определяемый комбинацией основных функциональных объектов: устройств, памятей, ключей, очередей;
средний уровень, представляемый схемой из типовых блоков,
между которыми перемещаются транзакты;
- нижний уровень − уровень физической реализации языка GPSS
в виде программ и наборов данных, составляющих основу моделирующей системы.
1.1 Блоки
Разработчик конструирует модель из блоков, прибегая, как правило, к наглядной форме ее отображения в виде блок-схемы. Для
удобства графического представления модели каждый блок GPSS
имеет принятое стандартное обозначение. Построенная схема является одновременно программой на языке GPSS. Для ее ввода в ЭВМ
необходимо последовательность блоков представить в виде списка
операций, добавив к названиям блоков требуемые операнды.
Каждый блок GPSS имеет входы и выходы, с помощью которых
осуществляется их связь в модели. Существуют два особых блока:
GENERATE, имеющий только выход, и TERMINATE, имеющий
38
только вход. Через блок GENERATE транзакты вводятся в модель.
Блок TERMINATE удаляет транзакты из модели.
Ниже дано описание основных функциональных объектов GPSS.
1.2 Транзакты
Функционирование объекта отображается в модели в виде перемещения транзактов от блока GENERATE в блок TERMINATE через
промежуточные блоки. Транзакты, или сообщения являются абстрактными подвижными элементами, которые могут моделировать
различные объекты реального мира: сообщения, программы, транспортные средства, людей и т. п. Перемещаясь между блоками модели,
транзакты вызывают (и испытывают) различные действия. Возможны
их задержки в некоторых точках модели, изменения маршрутов и
направлений движения, расщепление транзактов на несколько копий
и т. п. С каждым транзактом связан упорядоченный набор данных. Он
включает номер транзакта; номер блока, в котором в данный момент
находится транзакт; номер следующего блока; время перехода в следующий блок; приоритет, характеризующий очередность обработки
транзактов в определенных случаях; а также набор параметров, с помощью которых каждому транзакту можно присвоить числовые значения, выражающие желаемые свойства или характеристики моделируемых объектов: вес, скорость, объем, цвет, время обработки и т. п.
Все объекты GPSS имеют числовые характеристики, называемые
стандартными числовыми атрибутами (СЧА). Транзакты имеют четыре СЧА:
PR1 − приоритет;
Р$j − параметр с номером j;
M$l − время прохождения транзактом участка модели;
MP$j − промежуточное время, записываемое в параметре Pj ;
X$j − номер транзакта.
Блоки, влияющие на атрибуты транзактов и на их движение
в модели. В GPSS/PC существует ряд блоков, с помощью которых
можно изменить значение параметров транзактов. Блок ASSIGN модифицирует значение параметра транзакта, входящего в этот блок.
Блок INDEX изменяет значение параметра номер 1. Блок INCREMENT увеличивает значение параметра, блок DECREMENT уменьшает величину параметра.
39
Блок MARK записывает в указанный им параметр текущее значение таймера абсолютного времени или, если параметр не указан, заменяет значение отметки времени на текущее значение таймера.
С помощью блока USING осуществляется доступ текущего транзакта к параметрам другого транзакта модели. Блок LOCATE определяет и записывает в параметр текущего транзакта номер блока, в который должен войти определенный транзакт. Пересылка транзакта в
требуемую точку модели осуществляется блоком TRANSFER. Блок
TEST, проверяя выполнение определенного условия, может также
направлять транзакты в заданную точку модели, если условие не выполняется. В этом его действия аналогичны блоку GATE. Для организации в модели циклов используют блок LOOP, с помощью которого
можно предусмотреть многократное прохождение транзактом заданной цепочки блоков.
Изменение приоритета транзакта осуществляет блок PRIORITY.
Блок BUFFER возобновляет просмотр списка текущих событий и используется, как правило, в качестве режима блока PRIORITY.
С помощью блоков TRACE и UNTRACE осуществляют трассировку движения транзактов в модели.
При этом по каждому транзакту выводятся данные следующего
вида:
ТРАНЗ 1 ИЗ 2 В 3 ВРЕМЯ 54 TERMINATIONS TO GО 1 , которые означают: транзакт номер 1 выходит из блока 2 в блок 3 в момент времени 54 единиц, значение счетчика завершений равно I.
1.3 Списки
Списки относятся к элементам внутренней организации системы
GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующей системы.
Список будущих событий содержит транзакты, которые смогут
начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках
GENERATE и ADVANCE.
В список текущих событий входят транзакты, которые должны
перемещаться в модели в текущий момент модельного времени. Если
при этом транзакт входит в блок ADVANCE с ненулевым временем
задержки, то он перемещается в список будущих событий.
40
В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT. После снятия прерывания в
блоке RETURN транзакты вновь возвращаются в список будущих событий.
В список синхронизации помещаются транзакты, ожидающие
объединения с другими транзактами в блоках GATHER и ASSEMBLE
или находящиеся в блоках MATCH. После выполнения условий синхронизации транзакты возвращаются в список текущих событий.
Кроме рассмотренных списков, обработка которых происходит без
участия программиста, в GPSS/PC существуют списки пользователя,
управление которыми осуществляется с помощью блоков LINK и
UNLINK. Списки пользователя имеют стандартные числовые атрибуты, к которым можно обращаться внутри модели:
CH$j – текущее число транзактов в списке j;
CA$j – среднее число транзактов в списке j;
CM$j – максимальное число транзактов в списке];
CC$j – общее число входов транзактов в список];
CT$j – среднее время пребывания транзакта в списке j.
Процедура просмотра списка текущих событий
Процесс движения транзактов в модели сопровождается просмотром содержимого списков, внесением в них изменений, а также
перемещением транзактов из одного списка в другой.
Транзакты, находящиеся в списке текущих событий, расположены в порядке убывания приоритетов. Когда транзакт вводится в список текущих событий, он становится последним среди транзактов,
имеющих тот же приоритет. Процедура просмотра списка текущих
событий выполняет три основные действия:
1. Изменение момента условного времени. При этом момент
времени устанавливается равным наименьшему времени выхода из
блока для транзактов. находящихся в списке будущих событий. Все
транзакты, имеющие такое время выхода, переводятся из списка будущих событий в список текущих событий;
2. Последовательный просмотр транзактов от начала списка к его
концу с целью определения возможностей движения их в модели;
3. Попытка продвижения транзакта в последующие блоки. Если
транзакт может войти в следующий блок, выполняется программа,
соответствующая данному блоку. Если дальнейшее движение транзакта невозможно в силу тех или иных условий, процедура переходит
к обработке следующего транзакта. Так до тех пор, пока дальнейшее
41
продвижение любого транзакта станет невозможным. Тогда осуществляется изменение момента условного времени, и процедура повторяется сначала.
1.4 Устройства
Устройства моделируют объекты, в которых может происходить
обработка транзактов. Как правило, она связана с затратами времени.
Особенность устройств состоит в том, что каждое из них в данный
момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в
модели определенным блоком.
Захват и освобождение устройства моделируются соответственно
блоками SEIZE и RELEASE. Для проверки состояния устройств используют GATE. Прерывание моделирует блок PREEMPT, снятие
прерывания − блок RETURN.
С устройствами связаны следующие СЧА:
F$j − состояние устройства с номером j: 0 − если устройство свободно, и 1 − если устройство занято;
FR$j − коэффициент использования устройства j;
FC$j − число входов в устройство j;
FT$j − среднее время использования устройства j одним транзактом.
Устройства имеют также стандартные логические атрибуты
(СЛА), каждый из которых может принимать одно из двух значений:
"ИСТИНА" или "ЛОЖЬ".
U − устройство занято;
NU − устройство свободно;
I − устройство прервано;
N1 − не прервано.
Проверка состояния устройства осуществляется блоком GATE,
который в зависимости от значения проверяемого СЛА либо беспрепятственно пропускает транзакты (если СЛА = "истина"), либо
задерживает их или направляет по другому маршруту (если
СЛА = "ложь").
42
1.5 Памяти
Памяти служат для моделирования объектов, обладающих
определенной емкостью. Памяти моделируются блоками ENTER и
LEAVE. Входящий в блок ENTER транзакт занимает определенную
часть памяти. При входе транзакта в блок LEAVE память освобождается. Емкость памяти задают с помощью оператора STORAGE,
который не является блоком GPSS и относится к числу служебных
карт.
Памяти имеют следующие стандартные числовые атрибуты:
S$j − емкость памяти j;
R$j − свободный объем памяти j;
SR$j − коэффициент использования памяти j;
SM$j − максимальное заполнение памяти j;
SA$j − среднее заполнение памяти j;
SC$j − число входов в память j;
ST$j − среднее время пребывания транзакта в памяти j.
Памяти имеют также стандартные логические атрибуты, которые
используются для проверки состояния памяти:
SE$j − память j пуста;
SNE$j − память j не пуста;
SF$j − память j заполнена;
SNF$j − память j не заполнена.
Проверка состояния памяти осуществляется блоком GATE.
1.6 Логические ключи
Для представления в модели коммутируемых объектов с двумя
состояниями ("ВКЛЮЧЕНО" − "ВЫКЛЮЧЕНО") используют логические ключи, моделируемые блоками LOGIC и GATE. При входе
транзакта в блок LOGIC происходит срабатывание соответствующего
ключа. Ключ может быть включен (S), выключен (R) или переключен
(I). Ключи не имеют СЧА. Их состояние определяется стандартными
логическими атрибутами:
LS$j − ключ j включен;
LR$j − ключ j выключен.
Проверка состояния ключа осуществляется блоком GATE.
43
1.7 Очереди
Транзакты в процессе движения могут задерживаться перед блоками, вход в которые в данных условиях невозможен. Примерами
таких блоков из числа рассмотренных выше являются SEIZE (если
ранее вошедший в этот блок транзакт не вошел в блок RELEASE),
ENTER (если текущий объем памяти равен первоначально заданному), GATE (если в этом блоке не указан альтернативный выход и проверяемое условие не выполняется). При поступлении транзактов на
вход задерживающих блоков образуются очереди. Для сбора статистики об очередях в местах задержки ставят блоки QUEUE. Эти блоки
сами по себе не создают очередь, а лишь являются средством ее
регистрации. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Уход из очереди отображается блоком
DEPART.
Очереди имеют следующие стандартные числовые атрибуты:
Q$j − текущая длина очереди j;
QM$j − максимальная длина очереди j;
QA$j − средняя длина очереди j;
QC$j − число входов в очередь j;
QZ$j − число входов в очередь с нулевым временем пребывания
(транзакт прошел через блок QUEUE, не задерживаясь в очереди);
QT$j − среднее время пребывания в очереди, включая нулевые
входы;
QX$j − среднее время пребывания в очереди, без нулевых входов.
1.8 Таблицы
Для сбора статистических данных о различных отчетах модели и
их представления в стандартной табличной форме используют таблицы. Занесение информации в таблицу осуществляется блоком TABULATE в момент входа очередного транзакта в этот блок. Описание
структуры таблицы и типа заносимых данных (СЧА) осуществляется
картой TABLE.
Стандартные числовые атрибуты таблиц:
TB$j − среднее значение фиксируемой в таблице переменной;
TC$j − число входов в таблицу j;
TD$j − стандартное среднеквадратическое отклонение табулируемой переменной.
44
1.9 Ячейки
Для записи в процессе моделирования текущих значений СЧА
используют ячейки. Занесение информации в ячейку осуществляет
блок SAVEVALUE. При входе транзакта в этот блок требуемое значение СЧА фиксируется в ячейке, номер которой определяется операндом блока SAVEVALUE. Ячейки имеют различные форматы (слово, полуслово, с плавающей точкой), которым соответствуют следующие СЧА:
Х$] − текущее значение, записанное в ячейке j формата слово;
XH$j − текущее значение, записанное в ячейке j формата полуслова;
XL$j − содержимое ячейки с плавающей точкой.
Изменение содержимого ячеек может осуществляться блоками
SDECREMENT и SINCREMENT. Блок SDECREMENT вычитает заданное значение из величины, содержащейся в ячейке. Блок SINCREMENT добавляет требуемое приращение к содержимому ячейки.
1.10 Функции и переменные
Функции служат для отображения зависимостей между двумя
(СЧА. В GPSS/PC имеется два типа функций: непрерывные (С) и дискретные (D). Функцию задают набором пар точек − координат. Непрерывная функция воспроизводится в виде ломаной кривой, отрезки которой соединяют соседние точечные значения.
Дискретная функция имеет вид ступенчатой кривой.
Функцию описывают картой FUNCTION. За ней помещают одну
или несколько карт, содержащих координатные точки.
Карта описания функции задает ее тип, количество пар точек
( X i , Yi ) и СЧА, используемый в качестве аргумента. Формат этой карты имеет следующий вид:
НОМЕР FW[CTION]
A,B,
где: НОМЕР − номер функции, задаваемый программистом;
А − аргумент (любой СЧА);
В − тип функции.
Тип функции указывают как C n − для непрерывной и Dn − для
дискретной функции, где n − число пар точек ( X i , Yi ).
45
Карты, содержащие точки ( X i , Yi ), имеют следующий вид:
X 1 , Y1 / X 2 , Y2 /.../ X i , Yi /.../ X n , Yn причем обязательно
X 1 < X 2 <... X i <...< X n .
В GPSS/PC существуют также операторы для описания переменных, составляемых из стандартных числовых атрибутов. Целочисленные переменные, а также булевы переменные описывают оператором
VARIABLE. Переменные с плавающей точкой описывают оператором
FVARIABLE.
Операторы переменной имеют следующий формат:
ИМЯ VARIABLE SNA(oper)SNA(oper)... (FVARIABLE)
где:
SNA − допустимые стандартные числовые атрибуты;
(орег) − арифметические и логические операции:
"+" − сложить;
"−" − вычесть;
"/" − разделить;
"@" − разделить по модулю;
"()" − скобки;
"1" − логическое "И";
" " − логическое "ИЛИ";
"=" − равенство;
"о" − не равно;
"<" − меньше;
">=" − больше чем или равно;
"<=" − меньше чем или равно;
">" − больше.
2 ФОРМАТЫ ОПЕРАТОРОВ GPSS/PC
Операторы GPSS/PC имеют следующий формат:
Метка ___ Операция ___ Операнды ___; Комментарии
Знак "_" указывает пробел, знак ";" объявляет начало поля комментариев.
Метка, если она имеется, должна начинаться с первой колонки и
содержать не более пяти алфавитно-цифровых символов, начинающихся с буквы.
Звездочка (*) в первой колонке означает строку комментариев.
Поле операции содержит название блока или служебного оператора (карты). Это поле может начинаться со второй колонки и должно
46
быть отделено от метки пробелом. Длина поля операции не менее четырех символов (начальные символы блоков или карт).
Поле операндов отделяют от поля операции пробелом. Между
операндами должны стоять запятые.
Пример:
FACILITY DESCRIPTION
FAC SEIZE
1
;CPU
ADVAN
10,5 ;MSEC
RELEASE
1
MAC TRANSFER
3,FAC
Карты описания таблиц, функций, переменных и памятей должны
иметь в поле метки число от 1 до 32767 (2Л15 – 1) или предварительно
определенный символ.
Примеры:
^
ENTITIES DESCRIPTION
1
STORAGE
1280 ;MAIN
4
TABL
М1Д10ДО
В полях операндов могут быть использованы следующие обозначения.
Константа − целое число от 1 до 32767 или предварительно
определенная последовательность символов.
СЧА $ const − стандартный числовой атрибут, номер которого определяется константой const.
* const − значение параметра, номер которого определяется константой const
СЧА1*СЧА2 $ const − косвенная адресация с использованием стандартного − числового атрибута 1 (СЧА1), номер которого задан значением стандартного числового атрибута 2 (СЧА2), определяемого
константой const.
СЧА%СЧА $ const – косвенная адресация через стандартные числовые атрибуты.
Примеры:
XF*V$2
Содержимое полнословной ячейки, номер которой определяется
значением переменной 2.
FN*P$1 Значение функции,номер которой определяется содержимым параметра 1.
47
ХЩ2 Содержимое полусловной ячейки номер два.
*TERM
Значение параметра, номер которого определен константой
TERM. В описательной части программы значение константы TERM
должно быть определено оператором EQU, например: TERM EQU
10 при этом *TERM означает содержимое десятого параметра.
Ниже дано полное описание форматов блоков, а также служебных и управляющих операторов GPSS/PC.
2.1 БЛОКИ
2.1.1 ADVANCE (ЗАДЕРЖАТЬ)
ADVANCE − задерживает транзакт.
Формат: ADVA[NCE] A,B
А − среднее время задержки (константа, если В не задано);
В − разброс относительно среднего значения, должен быть меньше или равен А.
Блок ADVANCE моделирует временную задержку транзакта в
течение определенного интервала. Значение задержки по умолчанию
равно нулю. Если поле В не является FN$, то время задержки является
случайным числом, распределенным равномерно на интервале от
(А+В) до (А-В). Если поле В является функцией FN$, то время задержки определяется произведением поля А на значение функции в
поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящими от А.
Примеры:
ADVANCE
75
Транзакт будет оставаться в блоке ADVANCE в течение 75 единиц
модельного времени.
ADVANCE
12,5
Транзакт будет оставаться в блоке от 7 до 17 единиц времени.
ADVANCE
5,FN$1
Время задержки равно произведению значения функции FN$1 на число пять.
См. также: GENERATE
48
2.1.2 ASSEMBLE (СОЕДИНИТЬ)
ASSEMBLE − объединение транзактов, принадлежащих одному
семейству (или ансамблю).
Формат: ASSE[MBLE] A
А − число объединяемых транзактов.
Первый транзакт семейства, достигнув блока ASSEMBLE, задерживается в нем до тех пор, пока остальные члены семейства не поступят в этот блок. Когда транзакты, число которых указано в поле А,
поступят в этот блок, они будут удалены из модели, а первый прибывший транзакт продолжит движение.
Пример:
ASSEMBLE 3
После того, как 3 транзакта одного семейства войдут в блок, один
(первый) выйдет из блока и продолжит движение, остальные будут
уничтожены.
См. также:
GATHER
MATCH
SPLIT
2.1.3 ASSIGN (ПРИСВОИТЬ)
ASSIGN − изменяет значение параметра транзакта.
Формат: ASSI[GN] A,B
А − номер изменяемого параметра (+, -);
В − новое значение параметра.
Если за полем А следует знак "+" или "-", то значение поля В соответственно добавляется или вычитается из А. Если знаки "-" или "+" не
указаны, то значение поля В становится текущим значением параметра.
Примеры:
ASSIGN
2,8
Присваивает параметру 2 значение 8.
ASSIGN
3+,V$5
Добавляет значение переменной 5 к параметру 3.
См. также: DECREMENT INCREMENT
49
2.1.4 BUFFER (ВОЗОБНОВИТЬ ПРОСМОТР СПИСКА)
BUFFER − возобновляет просмотр списка текущих событий.
Формат: BUFF[ER]
Не имеет операндов.
Останавливает процесс движения транзакта и заново начинает просмотр списка текущих событий. Не связан с временем задержки.
Пример:
BUFFER Возобновляет просмотр списка текущих событий.
См. также: PRIORITY
2.1.5 DECREMENT (УМЕНЬШИТЬ ЗНАЧЕНИЕ)
DECREMENT − уменьшает значение параметра транзакта.
Формат: DECREMENT] A,B
А − номер изменяемого параметра;
В − значение для вычитания.
Величина, указанная в поле В, вычитается из значения параметра, номер которого указан в поле А.
Примеры:
DECREMENT
3,7
Вычитается число 7 из значения третьего параметра текущего транзакта.
DECREMENT
XH$6,V$4
Значение переменной 4 вычитается из параметра, номер которого задан ячейкой 6 формата полуслово.
См. также: ASSIGN INCREMENT
2.1.6 DEPART (ПОКИНУТЬ ОЧЕРЕДЬ)
DEPART − удаляет транзакт из очереди.
Формат: DEPA[RT] A,B
А − номер (имя) очереди;
В − число удаляемых из очереди элементов.
Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.
Примеры:
DEPART
5
50
Текущий транзакт удаляется из очереди 5, а длина очереди
уменьшается на единицу.
DEPART
P$3,7
Транзакт удаляется из очереди, номер которой определен параметром
3, длина очереди уменьшается на 7 элементов.
См.также:
QUEUE
2.1.7 ENTER (ВОЙТИ В ПАМЯТЬ)
ENTER − помещает транзакт в память.
Формат: ENTE[R] A,B
А − имя памяти символическое или числовое;
В − число занимаемых единиц памяти (по умолчанию единица).
Проверяется наличие свободного объема памяти, номер которой
определен в поле А. Если имеется свободная память, то транзакт входит в блок ENTER. При этом занятый объем памяти увеличивается на
значение поля В. Если транзакт не может войти в блок ENTER, он задерживается в предыдущем блоке.
Примеры:
ЕNTER
1
Войти в память 1, занимая единицу ее объема.
ENTER
Р$1ДО
Войти в память, номер которой определяется параметром 1, занимая
10 единиц памяти.
См.также:
LEAVE STORAGE
2.1.8 GATE (ВПУСТИТЬ)
GATE − вспомогательный блок, проверяющий состояния
устройств, памятей, логических ключей.
Формат: GATE_R A,B
Внутренний операнд R определяет проверяемое условие в виде стандартного
логического атрибута и может принимать следующие значения:
U − устройство занято;
NU − устройство не занято;
I − устройство прервано;
N1 − устройство не прервано;
51
SF − память заполнена;
SNF − память не заполнена;
SE − память пустая;
SNE − память не пустая;
LR − ключ выключен;
LS − ключ включен;
М − транзакт находится в состоянии синхронизации;
MN − транзакт не находится в состоянии синхронизации.
Если проверяемое условие для объекта, номер которого определяется
полем А, выполняется (СЛА "ИСТИНА"), то транзакт входит в блок
GATE. Если условие "ЛОЖЬ", то возможны два случая:
- если поле В задано, то транзакт идет в блок, номер которого указан
в поле В;
- если в поле В пробел, то транзакт ждет в предыдущем блоке, пока не
выполнится условие.
Примеры:
GATE_SF
1
Если память номер 1 полна, то транзакт входит в блок GATE, в противном случае ждет ее заполнения.
GATE_NU P$2,MET
Если устройство, номер которого определен параметром Р$2, не занято, то транзакт входит в блок GATE, в противном случае он идет в
блок с именем МЕТ.
2.1.9 GATHER (СОБИРАТЬ)
GATHER − накапливает транзакты, являющиеся членами семейства.
Формат: GATHER_A
А − счетчик транзактов, которые должны быть накоплены.
Транзакты одного семейства задерживаются в блоке GATHER до
тех пор, пока их число не станет равным значению поля А. Когда последний транзакт войдет в блок GATHER, все они одновременно выходят из него в том порядке, в котором поступили. Состояние блока
GATHER может быть проверено блоком GATE.
Пример:
GATHER
6
Транзакты накапливаются в этом блоке до тех пор, пока в нем не соберутся шесть транзактов из одного семейства, после чего все они
смогут продолжать движение.
52
См. также:
ASSEMBLE
MATCH
SPLIT
2.1.10 GENERATE (ГЕНЕРИРОВАТЬ)
GENERATE – вводит транзакты в модель.
А − среднее значение интервала времени;
В − разброс или модификатор среднего значения (по умолчанию
ноль);
С − время появления первого транзакта;
D − общее число генерируемых транзактов;
Е − уровень приоритета каждого транзакта; (от 0 до 127, знач. по
умолчанию 0);
F − число параметров (по умолчанию 12);
G − тип параметра (F -полнословный,
Н − полусловный -по умолчанию).
Вводит транзакты в модель, посылая их в следующий по порядку
блок. Если в поле В не указана функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А-В) до (А+В). Если поле В является
функцией (FN$), то этот интервал определяется произведением поля
А на значение функции, заданной в поле В.
Примеры:
GENERATE 15,3,25
Генерируются транзакты с интервалом прихода от 12 до 18 единиц
времени, первый из которых поступает в момент времени 25 единиц.
GENERATE 5,FN$2,,15
Генерируются транзакты с приоритетом 15, интервалы времени между ними определяются произведением числа 5 на значение функции
FN$2.
См. также: ADVANCE TERMINATE
2.1.11 PREEMPT (ПРЕРВАТЬ)
PREEMPT − переводит устройство в прерванное состояние.
Формат: PREE[MPT] A
А − номер прерываемого устройства.
53
Транзакт получает в пользование устройство, указанное в поле А, если
это устройство не было прервано другим транзактом. Если предыдущий транзакт захватил устройство через блок PREEMPT, текущий
транзакт блокируется.
Пример:
PREEMPT
P$l
Если устройство, номер которого задан параметром Р1, не было переведено в состояние прерывания, то транзакт, входящий в этот блок,
захватывает его.
См. также:
SEIZE
RELEASE
RETURN
2.1.12 PRINT (НАПЕЧАТАТЬ)
PRINT − печатать до семи значений СЧА.
Формат: PRIN[T] SNAI,SNA2,...,SNA7
SNA − любые допустимые стандартные числовые атрибуты.
Печатается список от 1 до 7 СЧА при каждом входе транзакта в этот
блок. Значения СЧА не изменяются.
Примеры:
PRINT
P$1,P$2,P$3,P$4
Печать значений параметров 1,2,3,4.
PRINT
XH$3,XH$4,V$2,FR$8,P$9,P$10
Печать значений ячеек 3 и 4, переменной 2, коэффициента использования прибора 8 и содержимого параметров 9 и 10.
2.1.22. PRIORITY (НАЗНАЧИТЬ ПРИОРИТЕТ)
PRIORITY − изменяет уровень приоритета транзакта.
Формат: PRIOfRITY] A,BUFFER
А − новый приоритет (целое число в диапазоне от 0 до 127);
[BUFFER] − указывает возобновление процедуры просмотра
списка текущих событий.
Устанавливает приоритет входящему транзакту в соответствии со значением поля А. Если операнд BUFFER отсутствует, продолжается обработка текущего транзакта. Если операнд BUFFER указан, то текущий транзакт помещается в список текущих событий и возобновляется просмотр списка.
54
Примеры:
PRIORITY 4
Назначить транзакту уровень приоритета 4, попытка продвинуть транзакт в следующий блок.
PRIORITY XF$1,BUFFER
Назначить транзакту приоритет, равный значению ячейки 1, поместить
транзакт в список текущих событий и возобновить его просмотр.
См. также: BUFFER GENERATE
2.1.13 QUEUE (СТАТЬ В ОЧЕРЕДЬ) QUEUE − помещает транзакт в конец очереди.
Формат: QUEU[E] А,В
А − номер очереди (числовое или символьное имя очереди);
В − число добавляемых к очереди элементов (по умолчанию 1).
Увеличивает текущее содержимое очереди, указанной в поле А, на
значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно.
Примеры:
QUEUE
5
Присоединить транзакт к очереди 5, увеличив ее длину на единицу.
QUEUE
P$l,3
Стать в очередь, указанную в параметре 1, и увеличить ее длину на 3.
См. также: DEPART
2.1.14 RELEASE (ОСВОБОДИТЬ)
RELEASE − освобождает устройство.
Формат: RELE[ASE] A
А − номер устройства (числовое или символьное имя освобождаемого устройства).
Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же
транзакт, который его занимал.
Примеры:
RELEASE
10
Освободить устройство 10.
RELEASE
P$2
55
Освободить устройство, указанное в параметре 2.
См. также:
PREEMPT
RETURN
SEIZE
2.1.15
TABULATE (ЗАНЕСТИ В ТАБЛИЦУ)
TABULATE − заносит значение в таблицу.
Формат: TABULATE] A,B А − номер таблицы;
В − вес, указывающий сколько раз значение должно быть занесено в таблицу (по умолчанию 1).
Транзакты, входящие в блок TABULATE, осуществляют занесение данных в таблицу, указанную в поле А. Поле В определяет весовой фактор, который используется, если данные заносятся во взвешенную таблицу. Описание структуры таблицы осуществляется картой TABLE.
Примеры:
TABULATE 4 Занести значение в таблицу 4 с весом 1 (т. е. один
раз).
TABULATE P$3,5
Занести наблюдаемую величину с весом 5, т. е. 5 раз, во взвешенную таблицу, указанную в параметре.
2.1.16
TERMINATE (ЗАВЕРШИТЬ)
TERMINATE − удаляет транзакт.
Формат: TERMINATE] A
А − величина, вычитаемая из содержимого счетчика завершений
(поле А карты). Транзакт удаляется из модели и поступает в пассивный буфер. Если в поле А пробел, воздействия на счетчик завершений
не происходит, в противном случае его значение уменьшается на величину, указанную в поле А.
Примеры:
TERMINATE Транзакт удален, но значение счетчика завершений
не изменяется.
TERMINATE 2 Значение счетчика завершений уменьшается на 2.
См. также: GENERATE
56
2.1.17 TEST (ПРОВЕРИТЬ) TEST − сравнивает два стандартных числовых атрибута.
Формат: TESTj A,B,C
г − внутренний операнд, принимающий значения:
Е − равно;
NE − не равно;
L − меньше чем;
LE − меньше чем или равно;
G − больше чем;
GE − больше чем или равно;
А − стандартный числовой атрибут;
В − стандартный числовой атрибут;
С − номер альтернативного блока.
Значения стандартных числовых атрибутов, указанных в поле А и В,
сравниваются отношением, определяемым операндом г. Если условие
выполняется, транзакт вводится в блок. Если условие не выполняется
и определено поле С, транзакт переходит в указанный блок, если же С
не задано, транзакт задерживается в предыдущем блоке.
Примеры:
TEST_E
P$1,2,LABEL
Если значение первого параметра равно двум, транзакт войдет в
блок TEST и продолжит движение в следующий блок. Если значения
не равны, транзакт перейдет в блок с меткой LABEL.
TEST_L
FN$2,P$2
Если функция 2 меньше, чем параметр 2, транзакт входит в блок
TEST, в противном случае он становится заблокированным.
2.1.18 TRANSFER (ПЕРЕДАТЬ)
TRANSFER - изменяет движение транзакта в модели.
Формат: TRANSFER] A,B,C,D
А − режим передачи (пробел, “.”, ALL, BOTH, FN, P, PICK,
SBR, SIM);
В − следующий блок;
С − следующий блок;
D − значение индекса, используемое в режиме ALL.
Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А.
Режимы передачи поля А:
57
1. Пробел – транзакт передается в блок, определяемый полем В.
2. "." – статистический режим: в поле А указано десятичное число, выражающее вероятность перехода в блок С; его дополнение до
единицы указывает вероятность перехода в блок В.
3. ALL – транзакт последовательно пытается перейти в блоки,
определяемые значениями В, B+D, B+2D,...,C.
4. BOTH – транзакт последовательно пытается войти в блок В,
затем в блок С, до тех пор, пока один из них станут доступным.
5. FN – функциональный режим: поле В является номером функции; следующий блок определяется суммой значения этой функции
поля С.
6. Р – параметрический режим: поле В является номером параметра; следующий блок определяется суммой значения этого параметра и поля С.
7. PICK – выборочный режим: блок выбирается с равной вероятностью из блоков с номерами: В, В+1,..., С.
8. SBR – режим перехода к подпрограмме: номер текущего блока
помещается в параметр, указанный в поле С, а транзакт передается в
блок, номер которого указан в поле В.
9. SIM – одновременный режим: проверяется одновременное выполнение условий беспрепятственного движения транзактов в задерживающих блоках. Если условие выполняется, транзакт передается в
следующий блок, в противном случае транзакт переходит на блок С.
Примеры:
TRANSFER , NEXT Безусловная передача в блок с меткой
NEXT.
ТRANSFER .400, FACI, FAC2
С вероятностью 0.6 транзакты будут переданы в блок FACI и с вероятностью 0.4 в блок FAC2.
58
Приложение 2
ОТЧЕТ
Приведем пример стандартного отчета в среде GPSS World.
GPSS World Simulation Report — pasport.3.1
Friday, January 21, 2005 13:51:41
START TIME
0.000
NAME
BYE
NACH
NO_OBSL
OBED
OCH_NACH
OCH_PROP
PROP
RAZN
TAB1
TAB2
TIME
UXOD
VXOD
END TIME BLOCKS FACILITIES STORAGES
540.000
26
1
VALUE
17.000
10008.000
10009.000
10007.000
10002.000
10004.000
10000.000
10005.000
10001.000
10003.000
10006.000
16.000
3.000
LABEL
LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE
88
0
0
2 GATE
88
0
0
VXOD
3 QUEUE
82
0
0
4 GATE
82
0
0
5 SEIZE
82
0
0
6 DEPART
82
0
0
7 ADVANCE
82
0
0
8 RELEASE
82
0
0
9 TRANSFER
82
0
0
1
0 QUEUE
78
0
0
1
1 GATE
78
0
0
1
2 ENTER
78
0
0
1
3 DEPART
78
0
0
1
4 ADVANCE
78
0
0
59
1
16
1
1
1
2
2
2
2
2
2
2
UXOD
BYE
FACILITY
5 LEAVE
TERMINATE
82
7 TERMINATE
8 GENERATE
9 LOGIC
0 ADVANCE
1 LOGIC
2 ADVANCE
3 LOGIC
4 ADVANCE
5 SAVEVALUE
6 TERMINATE
78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
1
1
1
1
1
1
1
1
0
0
0
0
ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
NACH
82
QUEUE
RETRY
OCH_NACH
OCH_PROP
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0)
13
3
0.542
0
0
STORAGE
DELAY
PROP
3
TABLE
TAB1
MEAN
15.589
TAB2
3.570
82
78
1
0
31
53
0
2.367
0.431
CAP. REM. MIN. MAX. ENTRIES
3
2.982
LOGICSWITCH
TIME
OBED
0
3
78
STD.DEV.
21.814
RANGE
0
15.589
2.982
AVL. AVE.C.
1
1.643
0
25.064
9.305
_
10.000
20.000
30.000
40.000
50.000
60.000
70.000
-
10.000
20.000
30.000
40.000
50.000
60.000
70.000
80.000
_
10.000
20.000
30.000
40.000
50.000
-
10.000
20.000
30.000
40.000
50.000
60.000
UTIL. RETRY
0.548
52
5
9
1
4
3
7
1
63.41
69.51
80.49
81.71
86.59
90.24
98.78
100.00
72
2
1
1
1
1
92.31
94.87
96.15
97.44
98.72
100.00
0
RETRY
0
0
60
0
0
0
0
RETRY FREQUENCY CUM.%
0
9.252
VALUE
1
0
0
SAVEVALUE
NO_OBSL
FEC XN PRI
90
0
RETRY
0
VALUE
0
BDT
ASSEM CURRENT NEXT PARAMETER VALUE
540.784
90
0
1
Ниже приведена смысловая интерпретация выдаваемых в отчете
результатов.
Заголовок.
GPSS World Simulation Report — pasport.3.1
Friday, January 21, 2005 13:51:41
В заголовок включена информация об имени файла, из которого
получен отчет, а также информация о времени и дате прогона модели.
Общая информация.
START TIME
END TIME BLOCKS FACILITIES STORAGES
0.000
540.000
26
1
1
 START TIME. Абсолютное системное время на начало рассматриваемого периода. START TIME устанавливается равным абсолютному
системному времени, определенному командами RESET или CLEAR.
 END TIME. Абсолютное системное время на момент окончания
моделирования.
 BLOCKS. Количество блоков в программе, исключая блоки описания.
 FACILITIES. Количество объектов «устройство» в программе.
 STORAGES. Количество объектов «память» в программе.
Имена
NAME
VALUE
BYE
17.000
NACH
10008.000
NO_OBSL
10009.000
OBED
10007.000
OCH_NACH
10002.000
OCH_PROP
10004.000
PROP
10000.000
RAZN
10005.000
TAB1
10001.000
TAB2
10003.000
TIME
10006.000
UXOD
16.000
61
VXOD
3.000
 NAME. Определенные пользователем имена, используемые в программе.
 VALUE. Числовое значение, присвоенное имени. Система присваивает значения именам, начиная с 10000. Исключение составляют
имена блоков, им присваивается числовое значение в соответствии с
порядковым номером в программе.
Блоки
LABEL
LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE
88
0
0
2 GATE
88
0
0
VXOD
3 QUEUE
82
0
0
4 GATE
82
0
0
5 SEIZE
82
0
0
6 DEPART
82
0
0
7 ADVANCE
82
0
0
8 RELEASE
82
0
0
9 TRANSFER
82
0
0
1
0 QUEUE
78
0
0
1
1 GATE
78
0
0
1
2 ENTER
78
0
0
1
3 DEPART
78
0
0
1
4 ADVANCE
78
0
0
1
5 LEAVE
78
0
0
UXOD 16 TERMINATE
82
0
0
BYE
1
7 TERMINATE
6
0
0
1
8 GENERATE
1
0
0
1
9 LOGIC
1
0
0
2
0 ADVANCE
1
0
0
2
1 LOGIC
1
0
0
2
2 ADVANCE
1
0
0
2
3 LOGIC
1
0
0
2
4 ADVANCE
1
0
0
2
5 SAVEVALUE
1
0
0
2
6 TERMINATE
1
0
0
 LABEL. Имя блока, которое ему присвоено.
 LOC. Порядковый номер блока в программе.
 BLOCK TYPE. Имя блока-оператора в GPSS.
 ENTRY COUNT. Количество транзактов, вошедших в данный
блок с момента последнего RESET или CLEAR или с момента начала
моделирования.
62
 CURRENT COUNT. Количество транзактов, находящихся в блоке
на момент окончания моделирования.
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния объекта данного блока.
Устройства
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
82 0.542 3.570 1
0
0
0
0
0
 FACILITY. Имя или номер объекта «устройство».
 ENTRIES. Количество раз, которое устройство было занято, с
момента последнего RESET или CLEAR или с момента последнего
запуска модели.
 UTIL. Средняя загрузка устройства за последний измеряемый период времени (доля системного времени, которое устройство было
занято, от общего времени моделирования). Измеряемый период времени отсчитывается от начала моделирования или с момента последнего использования команды RESET или CLEAR.
 AVE. TIME. Среднее время нахождения одного транзакта в
устройстве.
 AVAIL. Состояние доступности устройства на конец моделирования. 1 означает, что устройство доступно, 0 – не доступно.
 OWNER. Номер транзакта, который занимает устройство. 0 означает, что устройство свободно.
 PEND. Количество транзактов, ожидающих в очереди, чтобы занять устройство через блок PREEMPT.
 INTER. Количество транзактов, претендующих на устройство после прерывания.
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния данного устройства.
 DELAY. Количество транзактов, ожидающих в очереди, чтобы
занять устройство (включает транзакты, которые пытаются занять
устройства через блоки SEIZE и PREEMPT).
NACH
Очереди
QUEUE
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0)
RETRY
OCH_NACH 13 0
82
31
2.367
15.589
25.064 0
OCH_PROP 3
0
78
53
0.431
63
2.982
9.305 0
 QUEUE. Имя объекта «очередь».
 MAX. Максимальная длина очереди в течение рассматриваемого
периода моделирования. Рассматриваемый период считается с момента начала моделирования или с момента последнего оператора RESET
или CLEAR.
 CONT. Длина очереди на момент окончания моделирования.
 ENTRY. Общее количество входов за рассматриваемый период.
 ENTRY(0). Количество «нулевых» входов. Общее количество
транзактов, находящихся в очереди 0 единиц врмени.
 AVE.CONT. Средняя длина очереди за рассматриваемый период.
 AVE.TIME. Среднее время нахождения одного транзакта в очереди.
 AVE.(-0). Среднее время нахождения одного транзакта в очереди
за исключением «нулевых» входов.
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния данной очереди.
Память
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY
DELAY
PROP
3
3
0
3
78
1 1.643 0.548 0
0
 STORAGE. Имя объекта «память».
 CAP. Емкость памяти, определенная блоком STORAGE.
 REM. Количество свободных ячеек памяти на момент окончания
моделирования.
 MIN. Минимальное количество занятых ячеек памяти в течение
рассматриваемого периода.
 MAX. максимальное количество занятых ячеек памяти в течение
рассматриваемого периода.
 ENTRIES. Общее количество входов за рассматриваемый период.
 AVL. Состояние доступности памяти на конец моделирования. 1
означает, что память доступна, 0 – не доступна.
 AVE.C. Среднее количество занятых ячеек памяти в течение рассматриваемого периода.
 UTIL. Средняя загрузка памяти за последний измеряемый период
времени (доля системного времени, которое память была занята, от
общего времени моделирования).
64
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния данной памяти.
 DELAY. Количество транзактов, ожидающих в очереди, чтобы
занять память через блок ENTER.
Таблицы
TABLE
TAB1
MEAN STD.DEV.
15.589
RANGE
RETRY FREQUENCY CUM.%
21.814
0
_ 10.000
52 63.41
10.000 20.000
5 69.51
20.000 30.000
9 80.49
30.000 40.000
1 81.71
40.000 50.000
4 86.59
50.000 60.000
3 90.24
60.000 70.000
7 98.78
70.000 80.000
1 100.00
TAB2
2.982
9.252
0
_ 10.000
72 92.31
10.000 20.000
2 94.87
20.000 30.000
1 96.15
30.000 40.000
1 97.44
40.000 50.000
1 98.72
50.000 60.000
1 100.00
 TABLE. Имя объекта «таблица».
 MEAN. Среднее арифметическое табулируемой величины.
 STD.DEV. Выборочное стандартное отклонение табулируемой
величины, рассчитанное по формуле s.d . 
x
2
 1 ( x) 2
N
N 1
.
 RANGE. Границы интервалов, по которым рассчитывается частота попадания табулируемой величины. Интервалы, частота попадания
в которые равна 0, не выводятся.
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния данной таблицы.
 FREQUENCY. Частота попадания в интервал.
 CUM.% Интегральная частота попадания, выраженная в процентах.
Логические переключатели
LOGICSWITCH
VALUE
RETRY
TIME
1
0
OBED
0
0
65
 LOGICSWITCH. Имя или номер логического переключателя.
 VALUE. Значение логического переключателя на момент окончания моделирования. 1 означает «включен» или «истина», 0 означает
«выключен» или «ложь».
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния данного логического переключателя.
Ячейки
SAVEVALUE
RETRY
VALUE
NO_OBSL
0
0
 SAVEVALUE. Имя или номер ячейки.
 VALUE. Значение ячейки на момент окончания моделирования.
 RETRY. Количество транзактов, ожидающих выполнения специфических условий, зависящих от состояния данной ячейки.
Список будущих событий.
FEC XN
PRI
BDT ASSEM CURRENT NEXT PARAMETER VALUE
90 0 540.784 90
0
1
 XN. Номер транзакта в списке будущих событий.
 PRI. Текущий приоритет транзакта.
 BDT. Время в абсолютном системном измерении, когда транзакт
должен покинуть список будущих событий.
 ASSEM. Номер транзакта в общем списке транзактов.
 CURRENT. Номер блока, в котором находится транзакт на момент создания отчета.
 NEXT. Номер блока, куда будет направлен транзакт после выхода
из списка будущих событий.
 PARAMETER. Номера или имена параметров транзакта.
 VALUE. Значение параметра
66
Приложение 3
Образец оформления титульного листа курсовой работы
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФГБОУ ВПО СЕВЕРО-КАВКАЗСКИЙ ГОРНО-МЕТАЛЛУРГИЧЕСКИЙ
ИНСТИТУТ (ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ)
Кафедра автоматизированной обработки информации
КУРСОВАЯ РАБОТА
по дисциплине
МОДЕЛИРОВАНИЕ СИСТЕМ
по теме ___________________________________________
Выполнил:
Студент _____________________
Группа _____________________
Проверил:
Преподаватель: ______________
Дата защиты _________________
Оценка _____________
Владикавказ 201_
67
Download