- •Исследование производительности комплекса технических средств сапр
- •1.1 Постановка задачи
- •1.2 Составление имитационной модели комплекса технических средств сапр
- •1.3. Общие сведения о языке моделирования gpss.
- •1.3.1. Блоки генерации и удаления заявок
- •1.3.2. Блоки, описывающие действие транзакта по отношению к обслуживающему устройству
- •1.3.3. Блоки, управляющие маршрутизацией транзактов
- •1.3.4. Вспомогательные блоки
- •1.4 Задание
- •1. Задание;
1.2 Составление имитационной модели комплекса технических средств сапр
П
усть
необходимо
исследовать
производительность
комплекса
технических
средств
САПР,
содержащего
три
АРМ
и
центральный
вычислительный
комплекс
(ЦВК),
показанного
на
рис
1. Проектирование
ведется
путем
диалога
проектировщиков
через
терминальные
устройства
Т соответствующих
АРМ.
Задачи,
решаемые
на
каждом
АРМ,
требуют
последовательного
применения
различных
модулей
из
пакета
прикладных
программ
(ППП),
причем
маршрут
последовательно
решаемых
этапов
зависит
от
получаемых
результатов
и
определяется
лишь
при
их анализе.
Наиболее
трудоемкие
этапы
(анализ
полных
моделей,
а
также
некоторые
задачи
технического
проектирования)
из-за
их
большой
размерности
решаются
на
ЦВК,
в то
время
как
упорядочение
и
различные
программы
интерпретации
и
оценки
результатов
решаются
на
персональных
ЭВМ,
входящих
в
состав
АРМ.
Поэтому
место
проведения
следующего
этапа
обработки
задается
с
некоторой
вероятностью
Р1,
Р2,
P3.
Так, заявка
после
обработки
на
АРМ
1 с
вероятностью
Р1,
поступает обратно
на
АРМ,
а
с вероятностью
1 – Р1
требует
обработки
на
ЦВК.
АРМ
связаны
с
ЦВК
через
коммутирующий
процессор
коммутатор
малых машин
(КММ).
На
КММ
поступают
требования
на
обработку
(заявки)
от всех
трех
АРМ,
а
также
результаты
их
обработки
на
ЦВК,
которые должны
быть
направлены
на
соответствующие
АРМ,
где
они
интерпретируются
в
удобную
для
восприятия
форму
и
через
терминал
предъявляются
пользователю.
В
зависимости
от
полученного
результата
он либо
считает
этап
решения
завершенным
и
переходит
к
следующему
этапу маршрута
(генерируется
зависимая
заявка),
либо
меняет
некоторые
внутренние
параметры
модели
и
повторяет
прежний
этап,
либо заканчивает
проектную
процедуру.
Поскольку в соответствии со сценарием работы комплекса на КММ могут поступить одновременно несколько заявок, то на его входе должна соблюдаться очередность их обработки в соответствии с их приоритетами. По той же причине очередь на обработку организуется и на входе ЦВК. Распределение заявок между средствами комплекса отображается в СИМ с помощью узла типа R (R1), а для того чтобы он мог различать заявки, поступающие от соответствующих АРМ и ЦВК, используются узлы типа М (M1÷M6). На рис 2 представлена СИМ для вышеизложенного сценария применения комплекса технических средств САПР, составленная в терминах теории СМО.
Рис.
2
Описание модели вводится в ЭВМ с использованием входного языка схемного либо процедурного типа. В языках схемного типа по установленной форме вводится перечень объектов СМО с указанием их параметров и перечень связей между ними, после чего программно генерируется модель СИМ [1]. В языках процедурного типа с помощью фиксированного перечня операторов описываются маршруты прохождения заявок через СИМ. Подобный язык используется и в общецелевой моделирующей системе GPSS. Набор его операторов-блоков отображает структуру СИМ, а их последовательность маршруты транзактов в ней.
1.3. Общие сведения о языке моделирования gpss.
GPSS является языком дискретного моделирования. Машинная программа, интерпретирующая модель на языке GPSS, называется интерпретатором GPSS. Модель на GPSS представляет собой совокупность блоков. Передача управления от блока к блоку и их выполнение происходит при движении перемещающихся элементов, называемых транзактами. Таким образом, транзакты это динамические объекты GPSS модели. Транзакты вводятся и выводятся из модели в соответствии с условиями моделирования. В начальный момент моделирования в модели нет ни одного транзакта. В общем случае в модели может существовать большое число транзактов, однако в один и тот же момент времени в модели продвигается только один транзакт. При продвижении транзакта от блока (оператора) к блоку выполняются действия, предписанные данному блоку, т.е. происходит обращение к соответствующей подпрограмме. Движение транзакта происходит до тех пор, пока транзакт не входит в блок, функцией которого являются вывод транзакта из модели, задержка транзакта на некоторое время либо отказ транзакту во входе до изменения определенных условий. При прекращении движения одного транзакта в модели начинается продвижение следующего транзакта. Соответствие между транзактами и элементами моделируемой системы устанавливает разработчик в процессе разработки модели.
При продвижении моделирования в хронологической последовательности совершаются некоторые события. Чтобы отслеживать правильную временную последовательность наступления событий в интерпретатор GPSS, включена специальная переменная, которая называется таймером модельного времени. Таймер регистрирует только целые значения. Соответствие между единицей модельного времени и моделируемым временным интервалом устанавливается разработчиком модели (в зависимости от условий моделируемой задачи это может быть секунда, минута, час, год и т.п.).
При написании программы на GPSS необходимо учитывать, что каждый блок записывается в отдельной записи, которая разбивается на ряд полей. Позиции 2÷6 поле метки, в нем может быть записано символическое имя блока (метка); позиции 8÷18 поле операции, которое должно содержать служебное слово языка GPSS, предназначенное для задания операции; начиная с 19 позиции идут поля операндов.
Символические имена блоков (метки) могут состоять не более чем из 5 символов, причем первые три символа должны быть алфавитными (в GPSS допускается использование символов только латинского алфавита). Обычно разработчик присваивает символические имена тем блокам, на которые передается управление.
Операция определяет основное функциональное назначение блока (например, GENERATE, TERMINATE, ASSIGN и т.п.). Некоторые из блоков в поле операции могут содержать указания о дополнительных операциях (например, TEST Е).
Операнды задают информацию, специфичную для данного блока. Наибольшее количество операндов равно семи. В общем случае операнды обозначаются буквами A, B, C, D, E, F, G . В зависимости от типа блока некоторые операнды могут быть опущены. Друг от друга операнды отделяются запятыми. Если какой-либо из операндов опускается, то соответствующая ему запятая сохраняется при условии, что правее его имеется, хотя бы один неопущенный операнд. Пробелы между операндами не допускаются. Пробел в поле операндов указывает на то, что операнды закончены, и далее следует комментарий. Комментарий также можно задавать отдельной записью, если в первой позиции указать символ *.
