Реферат: Механизм генерации транзактов в модели - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Механизм генерации транзактов в модели

Банк рефератов / Информатика, информационные технологии

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 21 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Московский Инженерно-Физический Институт (технический университет) Реферат по курсу Моделирование Вычислительных Систем Тема: «Механизм генерации транзактов в модели. Формирование цепей текущих и будущих событий. Основные атрибуты транзактов. Управление движением транзактов.» ВВЕДЕНИЕ Процессы функционирования различных систем могут быть предста влены той или иной совокупностью систем массового обслуживания (СМО) - ст охастических, динамических, дискретно-непрерывных математических моде лей. Исследование характеристик таких моделей может проводиться либо а налитическими методами, либо путем имитационного моделирования. Имита ционная модель отображает стохастический процесс смены дискретных сос тояний СМО в непрерывном времени в форме моделирующего алгоритма. При ег о реализации на ЭВМ производится накопление статистических данных по т ем атрибутам модели, характеристики которых являются предметом исслед ований. По окончании моделирования накопленная статистика обрабатывае тся, и результаты моделирования получаются в виде выборочных распредел ений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании. Одним из наиболее эффективных и распространенных языков модели рования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, ф ормализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заяв ки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных комп онентов позволяет конструировать сложные имитационные модели, сохраня я привычную терминологию СМО. Транзакты Динамические объекты, соответствующие заявкам в системах массового об служивания, называются в GPSS/PC транзактами. Они "создаются" и "уничтожаются" т ак, как это необходимо по логике модели в процессе моделирования. С кажды м транзактом может быть связано произвольное число параметров, несущих в себе необходимую информацию об этом транзакте. Кроме того, транзакты м огут иметь различные приоритеты. В начальный момент времени в GPSS-модели н ет ни одного транзакта. В процессе моделирования симулятор генерирует т ранзакты в определенные моменты времени в соответствии с теми логическ ими потребностями, которые возникают в моделируемой системе. Подобным ж е образом транзакты покидают модель в определенные моменты времени в за висимости от специфики моделируемой системы. В общем случае в модели одн овременно существует большое число транзактов, однако в каждый момент в ремени симулятор осуществляет продвижение только какого-либо одного т ранзакта. Если транзакт начал свое движение, он перемещается от блока к б локу по пути, предписанному блок-схемой. В тот момент, когда транзакт вход ит в некоторый блок, на исполнение вызывается подпрограмма симулятора, с оответствующая типу этого блока, а после ее выполнения, при котором реал изуется функция данного блока, транзакт "пытается" войти в следующий бло к. Такое продвижение транзакта продолжается до тех пор, пока не произойд ет одно из следующих возможных событий: 1. транзакт входит в блок, функцией к оторого является удаление транзакта из модели; 2. транзакт входит в блок, функцией которог о является задержка транзакта на некоторое определенное в модели время; 3. транзакт "пытается" войти в следующий бло к, однако блок "отказывается" принять его. В этом случае транзакт остается в том блоке, где находился, и позднее будет повторять свою попытку войти в следующий блок. Когда условия в модели изменятся, такая попытка может ок азаться успешной, и транзакт сможет продолжить свое перемещение по блок- схеме. Если возникло одно из опи санных выше условий, обработка данного транзакта прекращается, и начина ется перемещение другого транзакта. Таким образом, выполнение моделиро вания симулятором продолжается постоянно. Проходя через блоки модели, к аждый транзакт вносит вклад в содержимое счетчиков блоков. Значения эти х счетчиков доступны программисту через СЧА блоков: W - текущее содержимое блока и N – общ ее количество входов в блок. Каждое продвижение транзакта в модели являе тся событием, которое должно произойти в определенный момент модельног о времени. Для того чтобы поддерживать правильную временную последоват ельность событий, симулятор имеет таймер модельного времени, который ав томатически корректируется в соответствии с логикой, предписанной мод елью. Таймер GPSS/PC имеет следующие особенности: 1. регистрируются только целые знач ения (все временные интервалы в модели изображаются целыми числами); 2. единица модельного времени определяетс я разработчиком модели, который задает все временные интервалы в одних и тех же, выбранных им единицах; 3. симулятор не анализирует состояние моде ли в каждый следующий момент модельного времени (отстоящий от текущего н а единицу модельного времени), а продвигает таймер к моменту времени, ког да происходит ближайшее следующее событие. Значения таймера доступны программисту через системные СЧА C1 (от носительное время) и AC1 (абсолютное время). Центральной задачей, выполняем ой симулятором, является определение того, какой транзакт надо выбрать с ледующим для продвижения в модели, когда его предшественник прекратил с вое продвижение. С этой целью симулятор рассматривает каждый транзакт к ак элемент некоторого списка. В относительно простых моделях использую тся лишь два основных списка: список текущих событий и список будущих со бытий. Список текущих событий включает в себя те транзакты, планируемое время п родвижения которых равно или меньше текущего модельного времени (к посл едним относятся транзакты, движение которых было заблокировано ранее). О н организуется в порядке убывания приоритетов транзактов, а в пределах к аждого уровня приоритета - в порядке поступления транзактов. Список будущих событий включает в себя транзакты, планируемое время про движения которых больше текущего времени, т.е. события, связанные с продв ижением этих транзактов, должны произойти в будущем. Этот список организ уется в порядке возрастания планируемого времени продвижения транзакт ов. Симулятор GPSS/PC помещает транзакты в зависимости от условий в модели в тот и ли иной список и переносит транзакты из списка в список, просматривает с писки, выбирая следующий транзакт для обработки, корректирует таймер мо дельного времени после обработки всех транзактов в списке текущих собы тий. Блоки, связанные с транзактами С транзактами связаны блоки создания, уничтожения, задержки транзактов, изменения их атрибутов и создания копий транзактов. Для создания транзактов, входящих в модель, служит блок GENERATE (генерировать), имеющий следующий формат: имя GENERATE A , B , C , D , E В поле A задается среднее значение интервала времени между момен тами поступления в модель двух последовательных транзактов. Если этот и нтервал постоянен, то поле B не используется. Если же интервал поступлени я является случайной величиной, то в поле B указывается модификатор сред него значения, который может быть задан в виде модификатора-интервала ил и модификатора-функции. Модификатор-интервал используется, когда интер вал поступления транзактов является случайной величиной с равномерным законом распределения вероятностей. В этом случае в поле B может быть зад ан любой СЧА, кроме ссылки на функцию, а диапазон изменения интервала пос тупления имеет границы A-B, A+B. Например, блок GENERATE 100,40 создает транзакт ы через случайные интервалы времени, равномерно распределенные на отре зке [60;140]. Модификатор-функция используется, если закон распределения инте рвала поступления отличен от равномерного. В этом случае в поле B должна б ыть записана ссылка на функцию, описывающую этот закон, и случайный инте рвал поступления определяется, как целая часть произведения поля A (сред него значения) на вычисленное значение функции. В поле C задается момент п оступления в модель первого транзакта. Если это поле пусто или равно 0, то момент появления первого транзакта определяется операндами A и B. Поле D за дает общее число транзактов, которое должно быть создано блоком GENERATE. Если это поле пусто, то блок генерирует неограниченное число транзактов до за вершения моделирования. В поле E задается приоритет, присваиваемый генер ируемым транзактам. Число уровней приоритетов неограниченно, причем са мый низкий приоритет - нулевой. Если поле E пусто, то генерируемые транзакт ы имеют нулевой приоритет. Транзакты имеют ряд стандартных числовых атр ибутов. Например, СЧА с названием PR позволяет ссылаться на приоритет тран закта. СЧА с названием M1 содержит так называемое резидентное время транз акта, т.е. время, прошедшее с момента входа транзакта в модель через блок GENERATE . СЧА с названием XN1 содержит внутренний ном ер транзакта, который является уникальным и позволяет всегда отличить о дин транзакт от другого. В отличие от СЧА других объектов, СЧА транзактов не содержат ссылки на имя или номер транзакта. Ссылка на СЧА транзакта вс егда относится к активному транзакту, т.е. транзакту, обрабатываемому в д анный момент симулятором. Важными стандартными числовыми атрибутами т ранзактов являются значения их параметров. Любой транзакт может иметь н еограниченное число параметров, содержащих те или иные числовые значен ия. Ссылка на этот СЧА транзактов всегда относится к активному транзакту и имеет вид Pj или Р$имя, где j и имя - номер и имя параметра соответственно. Та кая ссылка возможна только в том случае, если параметр с указанным номер ом или именем существует, т.е. в него занесено какое-либо значение. Для присваивания параметрам начальных значений или изменения э тих значений служит блок ASSIGN, имеющий следующий формат: имя ASSIGN A , B , C В поле A указывается номер или имя параметра, в который заносится значение операнда B. Если в поле A после имени (номера) параметра стоит знак + или -, то значение операнда B добавляется или вычитается из текущего соде ржимого параметра. В поле С может быть указано имя или номер функции-моди фикатора, действующей аналогично функции-модификатору в поле B блока GENERATE . Например, блок ASSIGN 5,0 записывает в параметр с но мером 5 значение 0, а блок ASSIGN COUNT +,1 добавляет 1 к текущему значению параметра с именем COUNT. Для записи текущего модельного времени в заданный параметр тра нзакта служит блок MARK , имеющий следующий форм ат: имя MARK A В поле A указывается номер или имя параметра транзакта, в который заносится текущее модельное время при входе этого транзакта в блок MARK. Со держимое этого параметра может быть позднее использовано для определе ния транзитного времени 0пребывания транзакта в какой-то части модели с помощью СЧА с названием MP. Например, если на входе участка модели поместить блок MARK MARKER, то на выходе этого участка СЧА MP$MARKER будет содержать разность между текущим модельным временем и временем, занесенным в пара метр MARKER блоком MARK . Если поле A блока MARK пусто, то текущее время заносится на мес то отметки времени входа транзакта в модель, используемой при определен ии резидентного времени транзакта с помощью СЧА M1. Для изменения приоритета транзакта служит блок PRIORITY , имеющий следующий формат: имя PRIORITY A , B В поле A записывается новый приоритет транзакта. В поле B может сод ержаться ключевое слово BU, при наличии которого транзакт, вошедший в блок , помещается в списке текущих событий после всех остальных транзактов но вой приоритетной группы, и список текущих событий просматривается с нач ала. Использование такой возможности будет рассмотрено ниже. Для удаления транзактов из модели служит блок TERMINATE , имеющий следующий формат: имя TERMINATE A Значение поля A указывает, на сколько единиц уменьшается со держимое так называемого счетчика завершений при входе транзакта в дан ный блок TERMINATE. Если поле A не определено, то оно считается равным 0, и транзакт ы, проходящие через такой блок, не уменьшают содержимого счетчика заверш ений. Начальное значение счетчика завершений устанавливается управляющим о ператором START , предназначенным для запуска пр огона модели. Поле A этого оператора содержит начальное значение счетчик а завершений. Прогон модели заканчивается, когда содержимое счетчика за вершений обращается в 0. Таким образом, в модели должен быть хотя бы один б лок TERMINATE с непустым полем A, иначе процесс моделирования никогда не заверши тся. Текущее значение счетчика завершений доступно программисту через системный СЧА TG1. Участок блок-схемы модели, связанный с парой блоков GENERATE-ТERMINATE , называется сегментом. Простые модели могут состоять из од ного сегмента, в сложных моделях может быть несколько сегментов. Например, простейший сегмент модели, состоящий всего из двух блоков GENERATE и TERMINATE, в совокупнос ти с управляющим оператором START моделирует пр оцесс создания случайного потока транзактов, поступающих в модель со ср едним интервалом в 100 единиц модельного времени, и уничтожения этих транз актов GENERATE 100,40 TERMINATE 1 START 1000 Если необходимо управлять продолжительностью прогона по модельному времени, то в модели используется специальный сегмент, назыв аемый сегментом таймера. GENERATE 100,40 TERMINATE GENERATE 100000 TERMINATE 1 START 1 Например, в модели из двух сегментов, приведенной на рис. 2, пе рвый (основной) сегмент выполняет те же функции, что и в предыдущем пример е. Заметим, однако, что поле A блока TERMINATE в первом сегменте пусто, т.е. уничтожаемые транзакт ы не уменьшают содержимого счетчика завершений. Во втором сегменте блок GENERATE создаст первый транзакт в момент модельн ого времени, равный 100000. Но этот транзакт окажется и последним в данном сег менте, так как, войдя в блок TERMINATE , он обратит в 0 со держимое счетчика завершений, установленное оператором START равным 1. Таким образом, в этой модели гарантируется завер шение прогона в определенный момент модельного времени, а точное количе ство транзактов, прошедших через модель, непредсказуемо. В приведенных п римерах транзакты, входящие в модель через блок GENERATE , в тот же момент модельного времени уничтожались в блоке TERMINATE . В моделях систем массового обслуживания заявк и обслуживаются приборами (каналами) СМО в течение некоторого промежутк а времени прежде, чем покинуть СМО. Для моделирования такого обслуживани я, т.е. для задержки транзактов на определенный отрезок модельного време ни, служит блок ADVANCE (задержать), имеющий следую щий формат: имя ADVANCE A , B Операнды в полях A и B имеют тот же смысл, что и в соответствующ их полях блока GENERATE. Следует отметить, что транзакты, входящие в блок ADVANCE , переводятся из списка текущих событий в список будущих событий, а по истечении вычисленного времени задержки возвраща ются назад, в список текущих событий, и их продвижение по блок-схеме продо лжается. Если вычисленное время задержки равно 0, то транзакт в тот же моме нт модельного времени переходит в следующий блок, оставаясь в списке тек ущих событий. В приведенном ниже сегменте транзакты, поступающие в модел ь из блока GENERATE через случайные интервалы врем ени, имеющие равномерное распределение на отрезке [60;140], попадают в блок ADVANCE . Здесь определяется случайное время задер жки транзакта, имеющее равномерное распределение на отрезке [30;130], и транза кт переводится в список будущих событий. По истечении времени задержки т ранзакт возвращается в список текущих событий и входит в блок TERMINATE , где уничтожается. Заметим, что в списке будущих соб ытий, а значит и в блоке ADVANCE может одновременно находиться произвольное количество транзактов. GENERATE 100,40 ADVANCE 80,50 TERMINATE 1 В рассмотренных выше примерах случайные интервалы времен и подчинялись равномерному закону распределения вероятностей. Для пол учения случайных величин с другими распределениями в GPSS/PC используются в ычислительные объекты: переменные и функции. Транзакты могут входить в модель не только через блок GENERATE, но и путем созда ния копий уже существующих транзактов в блоке SPLIT , имеющем следующий формат: имя SPLIT A , B , C В поле A задается число создаваемых копий исходного транза кта (родителя), входящего в блок SPLIT. После выхода из блока SPLIT транзакт-родитель направляется в следующий блок, а все тран закты-потомки поступают в блок, указанный в поле B. Если поле B пусто, то все копии поступают в следующий блок. Транзакт-родитель и его потомки, выход ящие из блока SPLIT , могут быть пронумерованы в п араметре, имя или номер которого указаны в поле C. Если у транзакта-родител я значение этого параметра при входе в блок SPLIT было равно k, то при выходе из блока оно станет равным k+1, а значения этого параметра у транзактов-потомк ов окажутся равными k+2, k+3 и т.д. Например, блок SPLIT 5,MET1,NUM создает пять копий исход ного транзакта и направляет их в блок с именем MET1. Транзакт-родитель и пото мки нумеруются в параметре с именем NUM. Если, например, перед входом в блок з начение этого параметра у транзакта-родителя было равно 0, то при выходе и з блока оно станет равным 1, а у транзактов-потомков значения параметра NUM б удут равны 2, 3, 4, 5 и 6. В приведенных выше примерах транзакты, выходящие из любого блока, всегда поступали в следующий блок. В более сложных моделях возникает необходим ость направления транзактов к другим блокам в зависимости от некоторых условий. Эту возможность обеспечивают блоки изменения маршрутов транз актов. Блок TRANSFER служит для передачи входящих в него т ранзактов в блоки, отличные от следующего. Блок имеет девять режимов раб оты, из которых рассмотрим здесь лишь три наиболее часто используемых. В этих трех режимах блок имеет следующий формат: имя TRANSFER A , B , C смысл операндов в полях A, B и C зависит от режима работы блока. В режиме безусловной передачи поля A и C пусты, а в поле B указывается имя бло ка, к которому безусловным образом направляется транзакт, вошедший в бло к TRANSFER. Например : TRANSFER , FINAL В режиме статистической передачи операнд A определяет веро ятность, с которой транзакт направляется в блок, указанный в поле C. С веро ятностью 1-A транзакт направляется в блок, указанный в поле B (в следующий, ес ли поле B пусто). Вероятность в поле A может быть задана непосредственно де сятичной дробью, начинающейся с точки. Например , блок TRANSFER .75, THIS , THAT с вероятностью 0,75 направляет транзакты в блок с именем THAT, а с вероятностью 0,25 - в блок с именем THIS. Если же поле A начинает ся не с десятичной точки и не содержит одного из ключевых слов - признаков других режимов работы блока, то его значение рассматривается как количе ство тысячных долей в вероятности передачи. Например, предыдущий блок TRANSFER можно записать также в следующем виде: TRANSFER 750,THIS,THAT В режиме логической передачи в поле A записывается ключево е слово BOTH. Транзакт, поступающий в блок TRANSFER, сначала пытается войти в блок, у казанный в поле B (или в следующий блок, если поле B пусто), а если это не удает ся, т.е. блок B отказывает транзакту во входе, то в блок, указанный в поле C. Есл и и эта попытка неудачна, то транзакт задерживается в блоке TRANSFER до изменен ия условий в модели, делающего возможным вход в один из блоков B или C, приче м при одновременно возникшей возможности предпочтение отдается блоку B. Например: TRANSFER BOTH , MET 1, MET 2 Блок TEST (проверить) служит для задержки или изменения маршру тов транзактов в зависимости от соотношения двух СЧА. Он имеет следующий формат: имя TEST X A , B , C . Вспомогательный операнд X содержит усл овие проверки соотношения между СЧА и может принимать следующие значен ия: L ; LE ; E ; NE ; GE ; G . Поле A содержит первый, а поле B - втор ой из сравниваемых СЧА. Если проверяемое условие A X B выполняется, то блок TEST пропускает транзакт в следующий блок. Если же это условие не выполняется , то транзакт переходит к блоку, указанному в поле C, а если оно пусто, то зад ерживается перед блоком TEST. Например, блок TEST LE P $ TIME , C 1 не впускает транзакты, у кото рых значение параметра с именем TIME больше текущего модельного времени. Бл ок TEST L Q $ LINE ,5, OUT направляет транза кты в блок с именем OUT, если текущая длина очереди LINE больше либо равна 5. Для задержки или изменения маршрута транзактов в зависимости от состоя ния аппаратных объектов модели служит блок GATE, имеющий следующий формат: имя GATE X A , B . Вспомогательный опера нд X содержит код состояния проверяемого аппаратного объекта, а в поле A ук азывается имя или номер этого объекта. Если проверяемый объект находитс я в заданном состоянии, то блок GATE пропускает транзакт к следующему блоку. Если же заданное в блоке условие не выполняется, то транзакт переходит к блоку, указанному в поле B, а если это поле пусто, то задерживается перед бл оком GATE. Операнд X может принимать следующие значения: U ; NU ; I ; NI ; SE ; SNE ; SF ; SNF ; LS ; LR . Например, блок GATE SNE BUF3 отказывает во входе транзактам, поступа ющим в моменты, когда в МКУ с именем BUF3 все каналы обслуживания свободны. Бл ок GATE LR 4, BLOK 2 направ ляет транзакты в блок с именем BLOK2, если в момент их поступления ЛП с номеро м 4 включен.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Анжелина Джоли умеет говорить фразу: "Не ори на мать!" на тридцати языках народов мира.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по информатике и информационным технологиям "Механизм генерации транзактов в модели", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru