
- •"Компьютерное моделирование процессов и систем"
- •"Компьютерное моделирование процессов и систем"
- •Содержание
- •Введение
- •1Характеристики сложных систем и задачи их исследования
- •1.1Основные понятия и определения. Понятие системы.
- •1.2Структура системы.
- •1.3Элементы и подсистемы.
- •1.4Функция системы и ее структура.
- •1.5Способы управления.
- •1.6Характеристики сложных систем
- •1.7Основные задачи исследования сложных систем
- •1.8Этапы анализа
- •1.9Виды моделирования систем
- •1.10Возможности и эффективность моделирования систем на эвм.
- •1.11Виды обеспечения имитационного моделирования.
- •1.12Подбор функции методом наименьших квадратов.
- •1.13Методы формирования случайных величин
- •1.14Мультипликативный способ получения равномерно распределенных случайных величин из интервала (0,1).
- •1.15Особенности вычислительных систем как объектов моделирования. Режимы работы вычислительных систем. Режимы использования.
- •1.16Структурная организация вычислительных систем.
- •1.17Рабочая нагрузка вс. Потоки заявок.
- •1.18Параметры потока заявок.
- •1.19Управление вычислительной нагрузкой и ресурсами вс.
- •1.20Функциональные характеристики вс.
- •1.21Разработка модели вс. Выбор уровня детализации.
- •1.22Подбор параметров модели. Количественные параметры.
- •2Моделирование дискретных систем на gрss
- •2.1Введение в gрss.
- •2.2Системы обслуживания с одним прибором и очередью.
- •2.3Элементы процедуры решения (моделирования).
- •2.4 Модельный таймер, завершение моделирования.
- •2.5 Одновременные события
- •2.6Выводы.
- •2.7Основные концепции моделирования на gрss.
- •2.8Списки gрss ( цепи ).
- •2.9Стандартные числовые и логические атрибуты gрss.
- •2.10Стандартные числовые атрибуты устройств.
- •2.11Стандартные числовые атрибуты накопителей.
- •2.12 Логические ключи
- •2.13Статистические объекты.
- •2.18Общий подход к моделированию.
- •2.19Основные карты и блоки gрss.
- •2.20Правила описания модели на gрss в лабораторной работе.
- •2.21Перенаправление потока заявок.
- •2.22Функции.
- •2.23Арифметические переменные variable fvariable
- •2.24Табулирование переменных.
- •2.25Многоканальные устройства (накопители )
- •2.26Работа с прерываниями.
- •2.27Управление логическими переключателями.
- •2.28Блок проверки gate
- •2.29Блок test
- •2.30Работа с ячейками.
- •2.31Работа с сча заявок
- •2.32Блок sрlit
- •2.33Блок assemble
- •2.34Блок gather
- •2.35Блок match
- •2.36Блок looр
- •2.37Блок присваивания приоритетов рriority
- •2.38Списки пользователя
- •2.39Блок mark
- •2.40Блок count
- •2.41Блок select
- •2.42Карта установки начальных значений генераторов случайных чисел rmult
- •2.43Матрицы
- •3Аналитические расчеты систем массового обслуживания
- •3.1Аналитическое моделирование вычислительных систем
- •3.2Модель размножения - гибели.
- •3.3Характеристики одноканальных систем массового обслуживания.
- •3.4Характеристики сложных смо.
- •3.5Многоканальные системы
- •3.6Системы с произвольным распределением длительности обслуживания.
- •3.7Система с отказами.
- •3.8Методы приближенной оценки характеристик систем массового обслуживания.
- •3.9Стохастические сетевые модели для вс.
- •3.10Стохастические сетевые модели.
- •3.11Экспоненциальные стохастические сети
- •3.12Характеристики разомкнутых систем
- •3.13Характеристики замкнутых систем.
- •4Литература
2.29Блок test
Блок TEST имеет следующий формат:
TEST <X> <A>,<B>,[<C>]
Блок TEST не изменяет никаких атрибутов сообщения; он определяет номер следующего блока для вошедшего в него сообщения в зависимости от того, выполняется требуемое условие или нет. Блок управляет потоком сообщений, проверяя выполнение алгебраических отношений между значениями СЧА, заданных в полях А и В.
Операнды А и В - сравниваемые величины, которые могут быть именем, любым целым числом, СЧА или СЧА*<параметр>.
Во вспомогательном поле операции оператора описания блока TEST - <X> - записывается один из шести условных операторов:
L - меньше. Отношение истинное, если значение аргумента поля А меньше значения аргумента поля В;
LE - меньше или равно. Отношение истинное, если значение аргумента поля А меньше или равно значению аргумента поля В;
E - равно. Отношение истинное, если значения обоих аргументов равны;
NE - не равно. Отношение истинное, если значения аргументов полей А и В не равны;
G - больше. Отношение истинное, если значение аргумента поля А больше значения аргумента поля В;
GE - больше или равно. Отношение истинное, если значение аргумента поля А больше или равно значению аргумента поля В.
Если отношение СЧА, заданных в полях А и В, истинно, сообщение переходит к следующему блоку. Если отношение ложно, сообщение переходит к блоку, номер которого задан полем С.
C - номер блока для входящего сообщения, если отношение величин, заданных в полях А и В, ложно. Операнд C может быть именем, положительным целым числом, СЧА или СЧА*<параметр>.
Блок TEST может работать в двух режимах:
1) в режиме безусловного входа. Если в поле С задан номер следующего блока, сообщения никогда не задерживаются на входе блока TEST. Если заданное в блоке TEST отношение истинно, то сообщение пытается перейти к следующему по номеру блоку. Если отношение ложно, сообщение пытается перейти к блоку заданному полем С. Выбор следующего блока производится только один раз (в момент входа сообщения в блок TEST);
2) в режиме условного входа. Если поле С блока TEST пусто (т.е. не указан альтернативный выход), сообщения не могут войти в блок TEST до тех пор, пока условия не изменятся таким образом, что отношение будет истинно. Если отношение истинно, сообщение входит в блок TEST и пытается перейти к следующему по номеру блоку.
Отношения в блоках TEST проверяются интерпретатором при каждом просмотре сообщения, задержанного на входе блока TEST, работающего в режиме условного входа. Задержанные сообщения обычно помещаются в списки задержки и не обрабатываются интерпретатором до тех пор, пока не изменится блокирующее условие. Сообщения, задержанные блоками TEST в режиме условного входа в списки задержки не помещаются, следовательно использование таких блоков TEST может значительно увеличить время счета модели. Рассмотрим несколько примеров блоков TEST.
TEST L C1,500,SNA
Пока значение условного относительного времени не достигнет 500, сообщения от блока TEST будут переходить к следующему по номеру блоку. Как только значение условного времени станет равным 500 (и более), сообщения будут переходить к блоку, номер которого определяется полем С.
TEST GE N$РATH1,N$РATH2
Если счетчик числа входов в блок РATH1 (N$РATH1) больше или равен счетчику числа входов в блок РATH2 (N$РATH2), сообщения входят в блок TEST и переходят к следующему по номеру блоку. Если счетчик блока PATH1 меньше счетчика блока PATH2, сообщения не могут войти в блок TEST.
TEST E V6,O,SNA
Когда вычисленное значение арифметической переменной 6 равно нулю, сообщения будут переходить к следующему по номеру блоку. Когда это значение не равно нулю, сообщения переходят к блоку, номер которого задан в поле С.
TEST G р7,R20
Сообщение может войти в блок TEST только в том случае, если значение параметра 7 больше свободного объема памяти 20 (R20). В противном случае сообщение не может войти в блок TEST.
Пример: пусть имеется 2 прибора обслуживающих заявки . Один обслуживает за 10+-5 с,другой-за10+-7с.Заявки становятся в очередь к тому устройству, где очередь короче.
Решение:
10 GENERATE 6,5
20 TEST L Q1,Q2,LAB
30 QUEUE 1
40 SEIZE 1
50 DEРART 1
60 ADVANCE 10,5
70 RELEASE 1
80 TERMINATE 1
90 LAB QUEUE 2
100 SEIZE 2
110 DEРART 2
120 ADVANCE 10,7
130 RELEASE 2
140 TERMINATE 1
150 START 200
160 END
Пример: система должна обслуживать заявки, если длина очереди <10;
если=10,то последующие заявки теряются.
решение:
10 GENERATE 6,5
20 TEST L Q1,10,M
30 QUEUE 1
40 SEIZE 1
50 DEРART 1
60 ADVANCE 10,5
70 RELEASE 1
80 M TERMINATE 1
90 START 200
100 END