- •"Компьютерное моделирование процессов и систем"
- •"Компьютерное моделирование процессов и систем"
- •Содержание
- •Введение
- •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.30Работа с ячейками.
Обращение к ячейке - Xномер. Это обращение возможно в качестве числового параметра для любого блока.
Пример: ADVANCE V3,X6 (отклонение записано в 6 ячейке)
Запись содержимого в ячейку.
Блок SAVEVALUE имеет следующий формат:
SAVEVALUE <A>,<B>
Блок SAVEVALUE используется для замены, увеличения или уменьшения текущего содержимого значений.
Значение в поле А может заканчиваться знаками + или -, указывающими на сложение или вычитание из существующего значения. Операнд может быть именем, положительным целым, СЧА или СЧА*<параметр>.
В поле В задается значение для запоминания, сложения или вычитания. Операнд может быть именем, целым, СЧА, или СЧА*<параметр>.
Пример:
SAVEVALUE ACCOUNT, 1000
Значение 1000 сохраняется в ячейке с именем ACCOUNT.
Операнд А используется для сохранения значения. Операнд В используется для определения нового значения, которое надо сохранить.
Если перед запятой стоит знак +, то операнд В добавляется к старому значению, если со знака -, то вычитается из старого значения. Если в операнде А нет знака, то старое значение сохраненной величины заменяется операндом В.
Стандартным числовым атрибутом, соответствующим описываемому оператору (SAVEVALUE) является:
X<номер сохраняемой величины> - возвращает содержимое сохраняемой величины.
Пример: SAVEVALUE 6-,Q3 (содержимое 6 ячейки уменьшается на длину 3-й очереди)
2.31Работа с сча заявок
Для изменения СЧА заявок используется блок ASSIGN
Блок ASSIGN имеет следующий формат записи:
ASSIGN <A>,<B>,[<C>]
Блок ASSIGN заменяет, увеличивает или уменьшает текущее значение параметра сообщения на заданное значение.
В поле А задается номер параметра, которому присваивается значение. Операнд А может быть именем, положительным целым числом, СЧА, СЧА*<параметр> и следующими за ними знаками +,-. Если значение параметра нужно увеличить или уменьшить, то справа в поле А ставится знак сложения или вычитания. Например, аргумент поля А может быть закодирован следующим образом:
1) 2 -заменяется текущее значение параметра 2;
2) 2- -вычитается заданное значение из текущего значения параметра 2;
3) 2+ -прибавляется заданное значение к текущему значению параметра 2;
Поле В определяет значение, которое следует добавить или вычесть из значения параметра, заданного аргументом поля А, или заменить его. Если такой параметр не существует, то он создается. Операнд В может быть именем, любым целым числом, СЧА, или СЧА*<параметр>.
Пример:
ASSIGN 2000+,-3
В этом примере значение поля В, равное -3, добавляется к значению параметра с номером 2000, который задан операндом А. Если такой параметр в сообщении отсутствует, то он создается со значением, равным 0, до того, как будет произведено добавление. Тогда значение параметра сообщения становится равным - 3.
Поле С задает номер модификатора-функции. При использовании поля С значение аргумента поля В умножается на значение модификатора - функции (от функции берется целая часть). Полученное произведение, от которого выделяется целая часть, становится значением, которое изменяет значение параметра, заданного в поле А. Следует отметить: если в поле С записано FN1, это не означает, что номер модификатора-функции равен 1, он равен целому значению FN1.
Рассмотрим модель, показывающую, как можно использовать блок ASSIGN для ввода информации о моделируемой системе в модель.
ff10 equ 10
ff1 equ 1
ff2 equ 2
ff3 equ 3
ff10 FUNCTION RN16 C3
0.075, 1/0.55, 2/.999, 3
ff1 FUNCTION ...
.
ff2 FUNCTION ...
.
ff3 FUNCTION ...
.
GENERATE 200, 12
ASSIGN 8, FN10
ASSIGN 2, FN*р8
Предполагается, что система связи получает информационные сообщения трех типов, причем каждый из них характеризуется своим распределением числа символов в сообщении. В модели в каждом сообщении параметр 8 будет указывать тип сообщения, а параметр 2 число символов в сообщении.
Блок ASSIGN может использоваться для управления логикой модели. Предположим, что система последовательно обрабатывает по одному символу поступившего информационного сообщения. рассмотрим часть модели, в которой блок ASSIGN используется для построения цикла обработки сообщения.
.
.
.
MET1 ASSIGN 1+,1
ADVANCE X1
TEST E р1,р2,MET1
.
.
.
Каждое сообщение представляет собой одно информационное сообщение и должно повторять блоки, изображающие процесс обработки символа, в данном случае блок ADVANCE, столько раз, сколько символов в соответствующем информационном сообщении. Длина информационного сообщения записана в параметр 2.
Для организации цикла с соответствующим числом повторений для каждого сообщения, используются блоки ASSIGN и TEST.
Блок ASSIGN добавляет единицу к счетчику числа выполненных циклов обработки сообщения (счетчик организован в параметре 1).
Предполагается, что параметр 1 устанавливается в "0" перед входом в цикл обработки. Пока не выполнится условие р1 = р2, блок TEST будет возвращать сообщение к началу цикла. После выполнения условия из блока TEST сообщение перейдет к следующему по номеру блоку.
СЧА, связанным с описанным оператором, является р<параметр> или *<параметр> - значение параметра. р<параметр> возвращает значение параметра, заданного <параметром>.
Пример: ASSIGN 1-,144(р1 уменьшается на 144)
Нередко присваивание используется для цикла LOOР.