Лекция №10. Системный уровень (1245003), страница 2
Текст из файла (страница 2)
Сеть задается параметрами источника заявок, конфигурацией связей ивероятностью передачи заявок между узлами сети. Отдельные СМО отображают функциональносамостоятельные части реальной системы, связи между ними - структуру системы, а требования циркулирующие по сети МО сообщения (пакеты в коммуникационной сети, задания в мультипроцессорныхсистемах, контейнеры грузопотоков), имеющие время обработки и приоритеты.Узел всегда является разомкнутой СМО.Виды имитационного моделированияТри подхода имитационного моделированияСистемная динамика — образец моделирования, где для исследуемой системы строятся графическиедиаграммы причинных связей и глобальных влияний одних параметров на другие во времени, а затемсозданная на основе этих диаграмм модель имитируется на компьютере.
Такой вид моделирования помогаетпонять суть происходящих причинно-следственных связей между объектами и явлениями. С помощьюсистемной динамики строят модели бизнес-процессов, развития города, модели производства, динамикипопуляции, экологии и развития эпидемии. Метод основан Джеем Форрестером в 1950 годах.Дискретно-событийное моделирование — подход к моделированию, предлагающий абстрагироваться отнепрерывной природы событий и рассматривать только основные события моделируемой системы, такие как:«ожидание», «обработка заказа», «движение с грузом», «разгрузка» и другие. Дискретно-событийноемоделирование наиболее развито и имеет огромную сферу приложений — от логистики и систем массовогообслуживания до транспортных и производственных систем.
Этот вид моделирования наиболее подходит длямоделирования производственных процессов. Основан Джеффри Гордоном в 1960х годах.Агентное моделирование — относительно новое (1990-2000е гг.) направление в имитационноммоделировании, глобальные правила и законы являются результатом индивидуальной активности членовгруппы.
Цель агентных моделей — получить представление об этих глобальных правилах, общем поведениисистемы, исходя из предположений об индивидуальном, частном поведении ее отдельных активных объектови взаимодействии этих объектов в системе. Агент — некая сущность, обладающая активностью, автономнымповедением, может принимать решения в соответствии с некоторым набором правил, взаимодействовать сокружением, а также самостоятельно изменяться.Для описания моделей СМО при их исследовании на ЭВМ разработаны специальные языкиимитационного моделирования. Существуют общецелевые языки, ориентированные на описаниеширокого класса СМО в различных предметных областях, и специализированные языки, предназначенныедля анализа систем определенного типа.
Языки моделирования дискретных процессов делятся на 4категории: - языки, ориентированные на события (Симскрипт),- на действия(ESP,GSP),- на процессы(Симула, SOL) , процессы и транзакты (потоки сообщений) (GPSS).В языках, ориентированных на процессы, моделирование системы проводится путем движения транзактов(сообщений) через стилизованные блоки действий.
По мере прохода транзактов через блоки происходитсдвиг системного времени; решения принимаются в результате воспроизведения логики функционированиямоделируемой системы. Сама система представляется в виде блоков; моделирующая программа создаеттранзакты, передвигает их по определенным блокам и производит действия, связанные с каждым блоком.Основными структурами данных языковой системы GPSS являются блоки, транзакты, списки,оборудование.В блоках могут происходить создание или уничтожение транзактов, изменение числового атрибута объекта,задержка сообщения на определенный период времени, изменение маршрута транзакта.Транзакты.
Транзакт — это некоторое сообщение, которое поступает извне на вход системы и подлежитобработке. В моделируемой системе движение потока транзактов может быть задержано из-за недоступностиоборудования. В этом случае задержанные сообщения ставятся в очередь. Учет очередей составляет одну изосновных функций интерпретатора GPSSСписки. В GPSS транзакты хранятся в списках. Списки представляют собой структуры данных, в которыхразмещена информация о транзактах.Оборудование – устройства (одноканальные и многоканальные), - логические ключи. В моделиисследуемой системы также организованы часы, хранящие значения текущего момента в модели иуказывающие время наступления ближайшего события.Для создания транзактов, входящих в модель, служит блок GENERATE (генерировать), имеющийследующий формат: имя GENERATE A,B,C,D,E. В поле A задается среднее значение интервала времени междумоментами поступления в модель двух последовательных транзактов. В поле B указывается модификаторсреднего значения.
Если этот интервал постоянен, то поле B не используется. В поле C задается моментпоступления в модель первого транзакта. Поле D задает общее число транзактов, которое должно бытьсоздано блоком GENERATE. Если это поле пусто, то блок генерирует неограниченное число транзактов дозавершения моделирования. В поле E задается приоритет, присваиваемый генерируемым транзактам.Для присваивания параметрам начальных значений или изменения этих значений служит блок ASSIGN(присваивать), имеющий следущий формат: имя ASSIGN A,B,C .
В поле A указывается номер или имяпараметра, в который заносится значение операнда B. Если в поле A после имени (номера) параметра стоитзнак + или - , то значение операнда B добавляется или вычитается из текущего содержимого параметра. Вполе С может быть указано имя или номер функции-модификатора. Например, блок ASSIGN 5,0 записывает впараметр с номером 5 значение 0.Для записи текущего модельного времени в заданный параметр транзакта служит блок MARK (отметить),имеющий следующий формат: имя MARK A.
В поле A указывается номер или имя параметра транзакта, вкоторый заносится текущее модельное время при входе этого транзакта в блок MARK.Для изменения приоритета транзакта служит блок PRIORITY (приоритет), имеющий следующий формат:имя PRIORITY A,B. В поле A записывается новый приоритет транзакта. В поле B может содержаться ключевоеслово BU, при наличии которого транзакт, вошедший в блок, помещается в списке текущих событий послевсех остальных транзактов новой приоритетной группы.Для удаления транзактов из модели служит блок TERMINATE (завершить), имеющий следующий формат:имя TERMINATE A.
Значение поля A указывает, на сколько единиц уменьшается содержимое так называемогосчетчика завершений при входе транзакта в данный блок TERMINATE. Начальное значение счетчиказавершений устанавливается управляющим оператором START (начать), предназначенным для запускапрогона модели.
Поле A этого оператора содержит начальное значение счетчика.Для задержки транзактов на определенный отрезок модельного времени, служит блок ADVANCE(задержать), имеющий следующий формат: имя ADVANCE A,B. Операнды в полях A и B имеют тот жесмысл, что и блока GENERATE.Имеются операторы для отображения занятия памяти, выхода из СМО, изменения параметров заявок(например, приоритетов), вывода на печать накопленной информации, характеризующей загрузку устройств,заполненность очередей и т.п.Например, простейший сегмент модели, состоящий всего из двух блоков GENERATE и TERMINATE всовокупности с управлящим оператором START, моделирует процесс создания случайного потока транзактов,поступащих в модель со средним интервалом в 100 единиц модельного времени, и уничтожения этихтранзактов.
Начальное значение счетчика завершений равно 1000. Каждый транзакт, проходящий через блокTERMINATE, вычитает из счетчика единицу, и таким образом моделирование завершится, когда тысячный посчету транзакт войдет в блок TERMINATE. При этом точное значение таймера в момент завершения прогонанепредсказуемо. В приведенном примере продолжительность прогона устанавливается не по модельномувремени, а по количеству транзактов, прошедших через модель.GENERATE 100, 40TERMINATE 1START 1000GPSS служит примером общецелевых языков. Соблюдение правильной временной последовательностиимитации событий в СМО обеспечивается интерпретатором GPSS World. Интерпретатор будетпопеременно исполнять разные фрагменты программы, имитируя продвижения транзактов в текущий моментвремени до их задержки в некоторых устройствах или очередях.
Суть событийного метода заключается вотслеживании на модели последовательности событий в том же порядке, в каком они происходили бы вреальной системе.Построение структурной схемы модели. Имеется система передачи данных, состоящая из:• 3-х пунктов–накопителей A,B и C• 4-х линий AB1, AB2, BC1 и BC2Причем пакеты данных из AB1 поступают в BC1, а из AB2 соответственно в BC2.Система передачи данных обеспечивает передачу пакетов данных из пункта A в пункт C черезпромежуточный пункт B.
В пункт А пакеты поступают через 6±2мс. Там они буферизуются и передаются полюбой из двух линий. В пункте В они снова буферизуются и передаются по следующим линиям в пункт C. Вовремя передачи пакетов по линия возможны сбои, вероятности которых отображены на схеме. Требуетсясмоделировать прохождение через систему 500 пакетов данных и определить максимальные объемы буферовв пунктах A и B, и характеристики их заполнения.Описание сети в виде СМО: в данной модели рассматривается система передачи данных, пункты имеютстатистические параметры объекта (очередь); линии – аппаратные объекты (приборы); пакеты данных –транзакты.
За единицу модельного времени (е.м.в.) принята 1мсАлгоритм.1. Генерация транзакта через 6±2 е.м.в.2. Равновероятная передача заявок: АВ1 – переход в пункт 3; АВ2 – переход в пункт 16.3. Вход в пункт - накопитель А.4. Занятие линии АВ1.5. Передача транзакта по линии АВ1 за 3±1 е.м.в. (ожидание).6. Освобождение линии АВ1.7.