<< Пред.           стр. 2 (из 6)           След. >>

Список литературы по разделу

 - SPT (shortest processing time) - кратчайшее время обслуживания, которое применяется для заявок с приоритетом, в GPSS/H эта дисциплина реализуется оператором блока PRIORITY.
 - случайная дисциплина, например система опроса слушателей на практических занятиях.
  Подчеркнём, что в GPSS/H факт создания очереди реализуется связанной парой операторов блоков QUEUE / DEPART .
 Выходной поток –y ( t )- функция распределения, представляющая собой сумму двух вероятностных законов y1(t ) - поток обслуженных заявок и y2 ( t ) – поток потерянных ( не обслуженных ) заявок, который образуется за счёт отказа в обслуживании из-за малого объёма накопителя по принципу m + 1 K, где К число заявок на входе прибора. В отдельных случаях заявка может остаться в приборе из-за окончания времени моделирования, поэтому в неравенстве появляется единица.
 Всё сказанное объединим в рис 2.1. На рисунке 2.1 представлена структура прибора обслуживания с входящими и выходящими потоками. На рис. 2.1 б виды СМО, на котором прибор обслуживания для простоты представлен прямоугольником, внутреннее содержание которого представлено на рис. 2.1а.
  Таким образом, однофазные ( простые ) СМО могут быть либо одноканальными, либо многоканальными. Многофазные СМО, представляющие последовательность различных операций, выполняемых различными приборами обслуживания, могут представлять собой комбинацию одно и многоканальных СМО.
 
 
 
 Рис.2.1 а) прибор обслуживания- ПО- P , б–виды СМО , б1) одноканальная однофазная СМО , б2 ) многоканальная однофазная СМО , б3 ) одноканальная многофазная СМО , б4 ) многоканальная многофазная СМО . Обозначения : Н- накопитель, К - канал обслуживания, кружок - поток входных заявок, прямоугольник - ПО, ромб - поток обслуженных заявок.
 
  В 1953 году Г. Кендалл предложил стандартные обозначения для введённых выше определений, которые и используются исследователями без изменений. Для однофазных СМО символика Кендалла выглядит следующим образом :
  A / B / n / m 2.1
  Где A и B входной поток и поток обслуживания соответственно ,
  n – число каналов, n 1,
  m - ёмкость накопителя.
 Потоки случайных событий могут иметь различный вид:
 - М – экспоненциальное распределение длительностей интервалов поступления заявок или длительностей обслуживания ( индекс М от определяющего слова марковский процесс, т.е. такой, когда поведение процесса после момента времени t зависит лишь от состояния процесса в момент времени t и не зависит от поведения до момента времени t),
 - D - детерминированное распределение длительностей интервалов поступления заявок или длительностей обслуживания,
 - Ек - поток Эрланга к – го порядка для длительностей интервалов между приходами заявок или длительностей обслуживания,
 - GI - рекуррентный поток (длительности интервалов статистически независимы и имеют одинаковое распределение),
 - G - общий вид распределения.
  Тогда в символах Кендалла вместо А и В подставляется символ одного из упомянутых потоков, например:
 M/M/1 - экспоненциальные потоки с одним каналом обслуживания и неограниченной ёмкостью.
 D/GI/5/10 - детерминированный входной поток, рекуррентный поток обслуживания, многоканальное СМО с 5 одинаковыми каналами, ёмкость накопителя 10 и т.д.
  Описание любого варианта СМО на языке математики достаточно несложно, но практически малоценно, так как не отражает динамики процесса функционирования системы. Поэтому всегда существует необходимость, получив предварительные числовые ориентиры на основе аналитической модели, далее строить имитационную модель, для чего незаменим ЯИМ GPSS/H .
 
  2.3. Некоторые аналитические модели СМО
 
  Не будем рассматривать причины, приводящие к искажению сформулированных свойств простейшего потока, отметим только, что процесс прихода заявок подчиняются в этом случае функции распределения Пуассона, а время прихода и обслуживания описывается экспоненциальной функцией распределения. Любые другие функции распределения приведут к лучшим параметром потоков, поэтому считается, что если параметры СМО удовлетворяют условиям простейшего потока, то они наверняка обеспечат удовлетворительную работу СМО при всех других потоках. В связи с этим в рассматриваемых далее моделях используются функции распределения Пуассона и экспоненциальные.
 
 2.3.1Распределение вероятности длительности интервалов между заявками
  Пусть f(t)- плотность распределения длительностей t интервалов между любой парой смежных заявок. Определим параметр потока , как среднюю частоту появлений заявок, а 1/ , как среднее значение длительности интервала, тогда
  t f( t )dt = 1/ . 2.2
  Например, если за дискрету времени примем 1 час, а = 4, то среднее количество поступлений равняется 15 минутам (1 / = 0.25) и наоборот, если каждые 10 минут в систему поступает одна заявка, то частота поступлений равняется 0.1 заявок в минуту.
  Для стационарного потока плотность определяется как:
  f ( t ) = e - t t , 2.3
 такое распределение называется экспоненциальным.
  Вычисляя вероятность попадания n заявок в произвольно выбранный интервал Т, приходим к распределению Пуассона:
  P n ( t ) = (( t )n / n! ) e – t . n = 0,1,2,… 2.4
  Полученные распределения отвечают всем свойствам простейшего потока.
 Впредь будем полагать, что отсчёт времени начинается с момента Т 0.
 Не трудно показать, что экспоненциальная функция распределения заявок и пуассоновский процесс обладают одинаковыми статистиками и их можно считать синонимами, поэтому, и принято обозначение марковский процесс или М – процесс.
 
  2.3.2 Распределение вероятностей длительностей обслуживания
  Будем считать, что каждый канал в одно и то же время может обслуживать только одну заявку. Следующие друг за другом интервалы обслуживания независимы и имеют идентичное распределение.
  Пусть плотность распределения равна g (t), тогда среднее время обслуживания равно:
  T0 = t g ( t ) dt = 1 / , 2.5
  где - параметр (темп) потока обслуживания.
 Так, например, если за дискету времени принять 1 час, а = 5, то в течение часа прибор обслужит 5 требований и среднее время обслуживания равно 12 минутам и наоборот, если на обслуживание заявки уходит 30 минут, то темп обслуживания = 2. При расчёте среднего времени обслуживания учитывается только время занятости прибора обслуживания.
  Для получения верхней границы пропускной способности канала обычно полагают, что распределение длительностей обслуживания является экспоненциальным:
  G (t) = e - t при t 0, 2.6
 при этом вероятность завершения обслуживания в интервале (t + t) не зависит от того, сколько времени уже потрачено на обслуживание этой заявки (пример системы, не обладающей памятью). Таким образом, если в момент t заявка уже обслуживалась, то в силу (2.6) в момент t + t вероятность того, что в этом интервале обслуживание не заканчивается:
  P (t + t) e - . 2.7
 Следовательно, при очень малых t, вероятность того, что обслуживание в рассматриваемом интервале не заканчивается равна:
  P ( t + t ) 1 - , 2.8
 а что заканчивается
  P ( t + t ) . 2.9
 
 Рассмотрим пример, в котором имеется возможность аналитического определения показателей эффективности функционирования СМО (М/М/1).
 Пусть процесс обслуживания начинается при отсутствии заявок в накопителе, тогда состояние СМО описывается следующей системой уравнений:
  2.10
 где Рn(t) - вероятность нахождения системы в состоянии в момент t, т.е. когда в ней находятся n заявок.
 Вероятность нахождения в системе n заявок в момент времени (t + t) равна сумме трех вероятностей:
 1) вероятности нахождения в системе n заявок в момент t, умноженной на вероятность того, что за время t в систему не поступает ни одной заявки и ни одна заявил не будет обслужена;
 2) вероятности нахождения в системе (n - 1) заявки в момент t, умноженной на вероятность поступления одной заявки за время t, и ни одна заявка не будет обслужена;
 3) вероятности нахождения в системе (n + 1) заявки в момент t, умноженной на вероятность ухода одной заявки, при условии не поступления ни одной заявки.
 Заметим что,
 
  2.11
 Образуя разностное уравнение и переходя к пределу, получаем дифференциальные уравнения:
  2.12
 Найдем выражение среднего числа заявок, находящихся в накопителе, и среднего времени ожидания заявок в накопителе для стационарного состояния при загрузке , коэффициент иногда называют траффик - интенсивностью, поскольку он также представляет долю полного времени, в течение которого прибор не простаивает, его иногда называют коэффициентом использования или загруженности.
 Приравняв производные по времени t к нулю, получим уравнения:
  2.13
 Положим n =1, тогда (1+ )p1 = p2 + , повторяя эти операции, имеем рn = , причем
  .
 Следовательно, получим, что рn = рn(1 - ) геометрическое распределение.
 Среднее число заявок в системе равно:
  , 2.14
  .
 Среднее число заявок, находящихся в накопителе, равно:
  . 2.15
 Среднее время ожидания заявок в накопителе равно:
  . 2.16
 Среднее время пребывания в системе равно:
  E{ w } = 1 / = 1 / 2.17
 Сведём основные операционные характеристики рассматриваемой системы с дисциплиной FCFS (FIFO) в таблицу 2.2.
  Таблица 2.2 Операционные характеристики СМО
 
 
 
 
 
  1- Ew Etn Ew Etn
 0.1 0.9 0.11 0.01 1 0.11 0.01 2 0.06 0.01
 0.3 0.7 0.43 0.13 3 0.14 0.04 6 0.07 0.02
 0.5 0.5 1.0 0.5 5 0.2 0.1 10 0.1 0.05
 0.7 0.3 2.33 1.63 7 0.33 0.23 14 0.17 0.12
 0.8 0.2 4.0 3.2 8 0.5 0.4 16 0.25 0.2
 0.9 0.1 9.0 8.1 9 1 0.9 18 0.5 0.45
 0.95 0.05 19.0 18.05 9.5 2 1.9 19 1 0.95
 0.99 0.01 99.0 98.01 9.9 10 9.9 19.8 5 4.95
 0.999 0.001 999.0 998.0 9.99 100 99.9 19.98 50 49.95
 Следует обратить внимание, что при возрастании коэффициента использования, такие параметры как число заявок в системе, длина очереди, время пребывания в системе начинают быстро возрастать. При заданной скорости обслуживания , когда коэффициент занятости не велик, основная доля среднего времени пребывания заявки в системе связана только с процедурой обслуживания, при возрастании интенсивности входного потока, большая часть времени пребывания заявки в системе обусловлена ожиданием обслуживания.
  Рассмотрим конкретный пример использования Таблицы 2.2. Пусть дискрета времени равна 1 часу, а =0.8. Прибор простаивает в среднем 0.2 часа (12 минут), а среднее количество требований в системе равно 4. При (скорость обслуживания равняется 10 единиц в час), средняя продолжительность пребывания заявки в системе равняется 0.5 (30 минут), а пребывание в очереди из них занимает 24 минуты.
  Возможны ситуации, когда длина очереди ограничена, если в СМО не может быть более L заявок, то длина очереди ограничена величиной L –1 и любая заявка сверх этого значения теряется, и статистическое равновесие в этом случае достигается при любом значении (Л. 2).
  В данном разделе не рассмотрены другие более сложные модели использования теории массового обслуживания. Однако, следует подчеркнуть, что теория СМО прекрасно реализуется способами имитационного моделирования с использованием ЯИМ GPSS/H. Поэтому концептуальная основа теории СМО позволяет решать сколь угодно сложные практические задачи, встречающиеся в технике, бизнесе и информатике.
 
 
 
 
 
 
 
 
 
 
 Глава 3.
  Средство компьютерного моделирования - ЯИМ GPSS/H
  Язык имитационного моделирования GPSS был создан в 1968 году фирмой IBM по заказу военно-морских сил США для моделирования сложнейших процессов снабжения флота, находящегося вдалеке от портов приписки. Поскольку тогда не существовало персональных компьютеров (датой их появления считается, по различным источникам, 1987 – 1988 год), первая версия GPSS предназначалась для работы в операционной среде и с техническими средствами тех времен (Л.2). Впоследствии язык неоднократно модифицировался, появилась версия, способная работать не только в операционной системе MS-DOS и в ее эмуляциях, но и непосредственно в ОС Windows’95,98, NT, XP.
  Одна из последних версий GPSS, названная GPSS/H, выпущена фирмой Wolverine Software Corporation – автор James Henriksen в 1996 году, но к сожалению, пока не нашла широкого применения в России. В то же время ее отличает от старых версий множество новых положительных свойств и возможностей. Перечислим некоторые существенные достоинства:
 - отсутствие собственной оболочки, что позволяет сократить время ознакомления с программой и упрощает работу во всех средах;
 - наличие так называемого отладчика программ, или дебагера, что позволяет сократить и сделать более эффективным этап отладки программ;
 - наличие фортраноподобных переменных (амперсант-переменных), которые позволяют значительно упростить многие операции и сделать модель более информативной для наблюдателя и удобной в работе;
 - возможность управления форматом и количеством информации в файле отчета, содержащем результаты моделирования и т.д. (см. Л.1,2).
 3.1. Назначение и структура GPSS/H
 Назначение GPSS/H - General Purpose Simulation System, то есть общецелевая система моделирования. Это средство (ниже будут для краткости использоваться термины «язык» или «ЯИМ») предоставляет пользователю возможность создавать и «испытывать» имитационные модели различных по своему физическому устройству и назначению систем. Необходимо только, чтобы решаемая с помощью моделирования задача могла быть описана средствами теории систем массового обслуживания (которая перекрывает широкий класс задач). Строго говоря, под это определение подпадают объекты, «процесс функционирования которых можно представить в виде состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области».
 Объекты и элементы GPSS/H. Объекты GPSS/H классифицируются по категориям (см. таблицу 3.1), в таблице в графе «функции операторов блоков» приведены характерные (или единственные) представители операторов рассматриваемой категории.
 Таблица 3.1. Объекты GPSS/H
 
 № кат. Категория объекта № типа Тип объекта Мнемонич. обозначение Функции операторов блоков
 
 1
 Динамическая
 1
 Транзакт
 --------- Создание транзактов: GENERATE, SPLIT
 Уничтожение транзактов: TERMINATE, ASSEMBLE
 2 Операционная 2 ОБ ( блок ) ------------ Объяснены в главе 5
 
 
 
 
 Аппаратная
 
 
 
 3
 
 Устройства
 F
 (facilities) Занятие – освобождение SEIZE – RELEASE
 Захват – возврат PREEMPT – RETURN
 Доступно - не доступно FAVAIL – FUNAVAIL
 Выбор обусловленного направления GATE
 
 
 4
 
 Памяти (накопители )
 
 S
 (storages) Войти – покинуть ENTER – LEAVE
 Свободна – занята SAVAIL - SUNAVAIL
 Ожидание изменения статуса – GATE
 Изменение емкости памяти BSTORAGE
 
 5
 Логические ключи
 L
 (logic switch Включение, выключение, инверсия LOGIC
 Ожидание изменения положения L GATE
 
 
 
 
 Вычислительная
 6
 Арифметическая переменная V
 (variable )
  Целочисленное значение
  VARIABLE
 Плавающая точка FVARIABLE
  7 Булева
 переменная BV Задается логическими атрибутами СЛА
  8 Функция FN Задается пользователем или встроенной функцией
  Статистическая 9 Очереди Q Создание очереди – покидание
 QUEUE – DEPART
  10 Таблицы T Создать таблицу TABULATE
 
 
 Запоминающая 11 Ячейки Х Создание скалярной переменной
  12 Матрицы М Создание 2-х размерных матриц
  13 Амперперемен. & Создание переменных 5-ти типов
  Группирующая 14 Списки польз. С Включить – исключить LINK - UNLINK
  15 Группы G Поместить – удалить JOIN – REMOVE
 Проверка принадлежности – EXAMINE
 Определение вида транзакта SCAN
 Изменение атрибутов - ALTER
 
 Каждому объекту соответствуют арифметические или логические атрибуты, описывающие состояние объекта в текущий момент модельного времени. Большинство из атрибутов не доступны для программиста. Атрибуты, к которым в ИМ можно обращаться, называются стандартными числовыми атрибутами (СЧА). Основными объектами GPSS/H являются транзакты и операторы исполнения ОБ (блоки).
 Транзакты (сообщения) описывают единицы исследуемых потоков (заявки на обслуживание), например: задания пользователей в вычислительной системе; детали, подлежащие обработке в ГПС; автомобили в очереди у бензоколонки; корабли, разгружающиеся в порту и т.п.
 Операционная категория включает блоки, которые задают логику функционирования ИМ системы и определяют пути движения транзактов между объектами аппаратной категории. Практически все изменения состояний ИМ (события) системы S происходят в результате входа транзактов в блоки и выполнения блоками своих функций.
 Основные функции блоков следующие:
 — создание (генерация) и уничтожение транзактов;
 — изменение числовых атрибутов объектов;
 — задержка транзакта на определенный интервал времени;
 изменение маршрута движения транзакта и др.
 Проиллюстрируем эти функции на простом примере.
 Пример. Блок, "создающий" транзакты в модели, обеспечивает поступление заявок в СМО через определенные интервалы времени. Занятие или освобождение заявкой канала обслуживания (или места в накопителе) приводит к изменению состояния канала (накопителя). В модели это осуществляется с помощью изменения СЧА объекта GPSS/H, описывающего состояние канала обслуживания (накопителя). В случае занятости одного из каналов СМО заявка может быть направлена на другой канал. Для этого в модели используется блок изменения маршрута движения транзакта. Блок, осуществляющий задержку транзакта, имитирует процесс обслуживания заявки в течение определенного времени. Выход обслуженной (или потерянной по каким-либо причинам) заявки из СМО в модели имитируется с помощью блока уничтожения транзактов.
 Объекты аппаратной категории служат для описания единиц оборудования или ресурсов, имеющих ограниченную ёмкость. Воздействуя на эти объекты, транзакты могут изменять их состояния и влиять на движение других транзактов. Ресурсы включают в себя три типа объектов
  Устройства описывают оборудование, которое в любой момент времени может быть занято только одним транзактом (одноканальные СМО): обрабатывающий центр, терминал, центральный процессор, АЦПУ, кассир и т.д., а также оборудование, на котором обслуживание одной заявки может быть прервано поступлением другой заявки (например, с более высоким приоритетом).
 Памяти (многоканальные устройства) описывают оборудование, которое может использоваться несколькими транзактами одновременно (многоканальные СМО): оперативную память ЭВМ, бункер-накопитель в ГПС, стоянки автомобилей и т.д.).
 Логические ключи используются для блокировки или изменения движения транзактов в зависимости от ранее наступивших в ИМ событий.
 Объекты вычислительной категории описывают связи между элементами СС, задаваемые с помощью аналитических или логических соотношений. Они могут служить для задания вероятностных законов распределения случайных величин в ИМ; для численного или логического описания условий, определяющих движение транзактов.
 Статистические объекты обеспечивают вычисление и представление в стандартном виде для показателей эффективности функционирования СС: средних значений, стандартных отношений, эмпирических функций распределения и т.п.
 Запоминающие объекты служат для задания условий моделирования, хранения, накопления и обработки информации, получение которой не предусмотрено стандартными средствами GPSS/H.
 Объекты группирующей категории содержат информацию о транзактах, находящихся в модели. Продвигаясь по модели, транзакты, имитирующие заявки на обслуживание, могут приводить к наступлению таких событий, как: поступление заявки в СМО; занятие (освобождение) места в накопителе; занятие (освобождение) канала обслуживания; прерывание обслуживания заявки с более низким приоритетом; совпадение значений определенных числовых атрибутов двух и более транзактов, называемых синхронизируемыми и т.п. При этом соответствующие транзакты помещаются в один из пяти списков (цепей, в оригинале –chain):
 -список текущих событий - СТС (время наступления меньше либо равно текущему модельному времени),
 -список будущих событий - СБС (время наступления больше текущего модельного времени);
 - список прерываний (транзакты, обслуживание которых прервано);
 - список синхронизируемых транзактов (находящихся в состоянии сравнения);
 - список пользователя содержит транзакты, удаленные программистом из списка текущих событий.
 Чтобы при дальнейшем изложении придерживаться единой терминологии введем единое понятия оператора (Таблица 3.2), которое отличается от дословного перевода терминов оригинальной версии языка.
 Таблица 3.2 Соответствие английских и русских названий
 
 Обозначения оригинальной версии языка
 Обозначения, введенные в материале
 BLOCKS
 Блоки Операторы блоков
 (блоки)
 Сontrol Statements
 Инструкция управления Операторы управления
 Compiler Directive
 Директива компиляции Операторы описания
 
 Кроме указанных в Таблице 3.2 операторов для эффективного решения задач исследования системы необходимо иметь средства управления процессами модификации и отладки программ, сбора и обработки статистики и т.п. Решение любой задачи ИМ получается в результате реализации прогона или ряда прогонов модельного файла – МФ, получения и обработки собранной статистики и принятие решений на основе статистического анализа. Длительность испытаний зависит либо от заданной статистической точности, либо от заданного числа реплик в одном прогоне, либо от времени рассмотрения функционирования реальной системы (см. параграф 3.5).
  В связи со сказанным необходимо чётко понимать какие времена рассматриваются при ИМ и представлять их различие.
 Тр - реальное время функционирования исследуемой системы S, которое
  может быть очень большим, например 10n лет при исследовании космогонических процессов, либо, наоборот, очень малым 10 –n секунд при исследовании процессов происходящих в микромире.
  Ти - машинное время имитации, отражающее затраты ресурса времени ЭВМ на организацию ИМ. В случае использования суперкомпьютеров, производительность которых превышает сотни гигафлоп, минута машинного времени может стоить несколько тысяч долларов. Это ограничение должно учитываться создателями ИМ и далее не рассматривается.
  Тм – модельное время, используемое в ИМ. Оно может быть сжато при исследовании процессов макромира или растянуто при оперировании со сверхбыстрыми процессами в реальной системе. Кроме того, именно модельное время позволяет избежать сложностей моделирования поведения реальной системы, так в реальной системе события могут происходить одновременно в разных компонентах системы, в обычных не мультипроцессорных ЭВМ параллельные события воплотить нельзя. Модельное время позволяет синхронизовать все события и реализовать квазипараллелизм. При создании ИМ задание временной дискреты модельного времени является обязательным условием до начала процесса ИМ. Естественно, что разные значения времени процессов обязательно должны быть выражены в едином масштабе временной дискреты модельного времени. Так, например, если временная дискрета задана в минутах, другие временные периоды: часы, сутки, годы должны быть так представлены в минутах.
 Введем обозначения: - временной интервал моделирования системы S (интервал модельного времени), где:
 t0 время начала моделирования (обычно полагают t0 = 0);
  Тм – время окончания моделирования;
  - текущее значение модельного времени.
 В заключение параграфа приведем ряд определений:
 программа или модельный файл - МФ на языке GPSS/H представляет собой описание поведения исследуемой системы, составленное согласно синтаксису языка. Делается это при помощи операторов (таблица 3.2), которые определяют правила перехода системы из одного состояния в другое. Изменение состояния модели называется событием модели. Одно проигрывание МФ называется реализацией, исполнение всех реализаций, оговоренное параметрами модели (числом стартов или временем моделирования) называется прогоном.
 
  3.2. Описание языка моделирования
 3.2.1. Структура модели
  Модель на языке GPSS/H содержит несколько видов информации, а именно: что происходит с транзактом внутри модели (и с какой вероятностью), в каком режиме должна выполняться модель, сколько должно быть сгенерировано транзактов в этом прогоне модели и т.п., что собой представляют отдельные объекты, встречающиеся в программе. На рисунке 3.1 представлена блок-схема модельного файла.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Рис.3.1 Блок-схема модельного файла
 Модели GPSS/H всегда состоят из нескольких частей, соответствующих этим группам сведений.
  Модуль 1 – модуль описания и управления. Начинается всегда с ОУ SIMULATE, что дает команду на компиляцию модельного файла. Модуль также может содержать другие операторы описания и управления. Содержимое модуля задает условия моделирования и само не исполняется.
  Модуль 2 - модуль исполнения. В модуле записываются исполняемые операторы в той последовательности, которая предусмотрена логикой модельного файла.
  Модуль 3 - модуль управления. Первый ОУ START дает команду на исполнение МФ, последний ОУ END дает команду на прекращение испытаний. Между ними может быть размещено любое количество операторов управления автоматизацией многократного процесса получения независимых прогонов и операторов очистки данных предыдущего прогона.
  В ранних версиях языка для отображения оператора любого типа использовались специальные графические эквиваленты. Однако, при создании модели достаточно сложной системы (более сотни операторов), такое графическое представление становится сложным для восприятия, особенно когда используются многочисленные пересылки. В связи с этим, в последних версиях ЯИМ отказались от графической интерпретации и пользуются только текстовым описанием. В курсовом проекте не нужно использовать графическое представление!
 
 3.2.2. Логика работы системы моделирования
  Языки моделирования, основанные на имитации систем массового обслуживания, имеют некоторые принципиальные отличия в логике работы по сравнению с традиционными языками программирования. В обычных языках операторы выполняются один за другим, в том (или приблизительно в том) порядке, в котором они записаны. Во всяком случае, исключена ситуация, когда одновременно исполняется несколько команд. Для нормальной работы компилятора типа GPSS/H, напротив, для пользователя ситуация следующая: все операторы (блоки), имеющие отношение собственно к модели, работают параллельно (и часто одновременно). Кроме того, в модели одновременно существует несколько (теоретически неограниченное количество) транзактов, динамических объектов, которые вступают во взаимодействие с ресурсами (устройствами). Эти динамические объекты могут появляться и удаляться из модели, то есть их количество непредсказуемо наперед. Однако, при любом количестве транзактов в модели, активным в каждый момент времени является только один!
  Для лучшего понимания логики работы системы моделирования необходимо разобраться в том, как именно обеспечиваются такие процессы, как определение времени появления очередного транзакта, расчет момента освобождения очередного блока транзактом и т.д.
  При запуске программы, содержащей модель на GPSS/H происходит следующее: запускается счетчик времени и генератор случайных чисел. Из последовательности чисел, выдаваемых этим генератором, формируются все случайные процессы, описанные в модели. Затем, после получения реализаций всех необходимых случайных величин (всех промежутков времени, оставшихся до событий типа появления нового транзакта, освобождения очередного блока и т.д.), выбирается наименьший временной интервал (то есть ближайшее по времени событие). Счетчик «прокручивается» до возникновения этого события, затем процесс повторяется до окончания моделирования по любому из возможных условий.
  Таким образом, промежутки времени для нескольких ближайших событий модели на самом деле становятся известны GPSS/H задолго до их наступления. Фактически, транзакты появляются, то есть приобретают определенные атрибуты, еще до их вхождения в модель в блоке GENERATE.
  Продолжая сравнение с обычными языками программирования, можно сказать, что в GPSS/H применяется особый вид псевдопараллелизма, при котором для пользователя события происходят параллельно. На самом же деле такое явление, как истинный параллелизм, то есть действительно одновременное совершение нескольких событий, недоступен в GPSS/H. Обращение к транзактам происходит поочередно, в каждый отдельный момент реального времени существует только один «активный» транзакт, тот, с которым происходит ближайшее по времени изменение статуса. Информация об остальных транзактах остается статической, а сами транзакты находятся в списке будущих событий.
  При работе модели происходит не только создание, продвижение и уничтожение транзактов; GPSS/H также автоматически собирает информацию (по существу – статистические данные) обо всех объектах модели. Происходит подсчет периодов занятости и незанятости всех блоков, имитирующих устройства; поддерживаются виртуальные очереди, сведения о них также непрерывно пополняются (максимальная длина очереди, среднее и максимальное время, проводимое транзактом в очереди, количество «нулевых входов», то есть транзактов, не испытавших задержки перед попаданием в устройство, и т.д.).
  Итак, после сказанного можно сформулировать основные принципы работы модели:
  - В каждый момент времени в модели движется только один активный транзакт, следующий начинает движение только после возникновения одного из особых состояний: а) – попадания активного транзакта к одному из операторов, запрещающих дальнейшее продвижение, например SEIZE, RELEASE, PREEMPT, в этом случае транзакт ожидает входа перед оператором; б) задержка транзакта для обслуживания в операторе ADVANCE, в этом случае транзакт находится внутри оператора; в) исполнение оператора TERMINATE, в этом случае активный транзакт уходит из модели.
  - Движение транзактов происходит последовательно от оператора к оператору из оператора текущего состояния ( Сurrent Block), в котором находится транзакт, в оператор ожидаемого будущего состояния (Next Block Attempted). В том случае, когда по условиям модели необходимо изменить последовательное поступательное (шаг за шагом) движение транзакта, используются специальные операторы исполнения типа (TRANSFER, TEST, LOGIC) см. 3.3.
  - Жизненный цикл активного транзакта, состоит из зарождения, попадания в систему, прохождения через последовательность предписанных МФ операторов и терминирования (ухода из системы).
  - Каждый транзакт имеет уникальный персональный идентификационный номер- (ID), закрепленный за одним единственным транзактом при его генерации. Номер всегда является целым положительным числом. Уход из системы не всегда происходит в порядке ID, что зависит от логики работы модели.
  - Каждый уходящий из модели транзакт приплюсовывает свое время пребывания в модели ко времени пребывания в системе предыдущего терминированного транзакта. Таким образом достигается непрерывность абсолютного времени моделирования.
  - Порядок окончания процесса моделирования определяется соответствующими машинными алгоритмами, подробнее см. 3.5.
  Вся эта информация после компиляции и моделирования оказывается записанной в так называемом файле отчета (см. ниже).
 3.3. Операторы GPSS/H
 Основными объектами теории СМО являются заявки (события) и устройства (системы), выполняющие их обслуживание. При моделировании большое внимание уделяется очередям и загрузке устройств. В соответствии с этим выбран и порядок описания операторов языка GPSS/H.
 Каждый оператор ЯИМ GPSS/H состоит из двух частей: названия оператора, которое, в обязательном порядке пишется заглавными латинскими буквами, например GENERATE. Для длинных названий допустимо сокращение до четырех букв, например GENE, короткие имена, состоящие из 5 и менее букв, всегда пишутся полностью. Вторая часть, которая пишется через пробел, содержит характеристики оператора, которые называются операндами, обозначаются латинскими буквами A,B,C,… и пишутся через запятую без пробелов. Некоторые операторы имеют до девяти операндов, как GENERATE, другие, как END не имеет ни одного операнда. Операнд может быть представлен числом, именем или сложным выражением. Операнды, включаемые в квадратные скобки, могут по умолчанию отсутствовать. Отсутствие, какого либо операнда в середине записи отмечается запятой или запятыми, если отсутствует несколько операндов. Рассмотрение операторов, проведем в соответствии с таблицей 3.2. Описание операторов дается не по алфавиту как в (Л.2), а по значимости в МФ.
 
 3.3.1. Операторы блоков (исполнения)
 GENERATE (Генерировать, произвести, родить)
 Этот оператор осуществляет генерирование входного потока заявок, управляет законом распределения временных интервалов между событиями и количеством заявок за все время моделирования.
 Формат:< GENERATE A,[B,C,D,E,F,G,H,I]>, где
 А - среднее значение интервала времени;

<< Пред.           стр. 2 (из 6)           След. >>

Список литературы по разделу