АЛТЫНОРДА
Новости Казахстана

Реферат. Культурные растения

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РЕСПУБЛИКИ КАЗАХСТАН

 

 

 

 

 

 

 

Реферат

 

Тема:  Культурный растения

 

 

 

 

 

 

 

 

                                                                           Проверил:

 Выполнил: Гожих Евгение  7в

 

 

 

 

 

Алматы 2006

 

 

 

 

 

        ПЛАН

       Введение

1.Имитационное моделирование: возможности и проблемы

  • Основные вопросы имитационного моделирования
  • Средства реализации имитационных моделей
  • Язык моделирования GPSS.  Основные элементы и блоки
  1. 2. Модель работы системы обработки данных

    2.1 Постановка задачи

    2.2 Реализация модели

  2.3 Анализ результатов моделирования

Заключение

Список использованной литературы

Приложения

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение.

   В исследовании операций широко применяются как аналитические, так и статистические модели. Каждый из этих типов имеет свои преимущества и недостатки. Аналитические модели более грубы, учитывают меньшее число факторов, всегда требуют каких-то допущений и упрощений. Зато результаты расчета по ним легче обозримы, отчетливее отражают присущие явлению основные закономерности. А, главное, аналитические модели больше приспособлены для поиска оптимальных решений. Статистические модели, по сравнению, с аналитическими, более точны и подробны, не требуют столь грубых допущений, позволяют учесть большое (в теории – неограниченно большое) число факторов. Но и у них – свои недостатки: громоздкость, плохая обозримость, большой расход машинного времени, а главное, крайняя трудность поиска оптимальных решений, кторые приходятся искать «на ощупь», путем догадок и проб.

         Наилучшие работы в области исследования операций основаны на

совместном применении аналитических и статистических моделей. Аналитическая модель дает возможность в общих чертах разобраться в явлении, наметить как бы контур основных закономерностей. Любые уточнения могут быть получены с помощью статистических моделей.

 Имитационное моделирование применяется к процессам, в ход которых может время от времени вмешиваться человеческая воля. Человек,  руководящий операцией, может в зависимости от сложившейся обстановки, принимать те или другие решения, подобно тому, как шахматист, глядя на доску, выбирает свой очередной ход. Затем приводится в действие математическая модель, которая показывает, какое ожидается изменение обстановки в ответ на это решение и к каким последствиям оно приведет спустя некоторое время. Следующее «текущее решение» принимается уже с учетом реальной новой обстановки и т.д. В результате многократного повторения такой процедуры руководитель как бы «набирает опыт», учится на своих и чужих ошибках и постепенно выучивается принимать правильные решения – если не оптимальные, то почти оптимальные.

  1. Имитационное моделирование: возможности и проблемы

1.1Основные вопросы  имитационного моделирования

 

 В современной литературе не существует единой точки зрения по вопросу о том, что понимать под имитационным моделированием. Так существуют различные трактовки:

  • в первой – под имитационной моделью понимается математическая модель в классическом смысле;
  • во второй – этот термин сохраняется лишь за теми моделями, в которых тем или иным способом разыгрываются (имитируются) случайные воздействия;
  • в третьей – предполагают, что имитационная модель отличается от обычной математической более детальным описанием , но критерий, по которому можно сказать, когда кончается математическая модель и начинается имитационная , не вводится;

           Имитационное моделированием применяется к процессам, в ход которых может время от времени вмешиваться человеческая воля. Человек, руководящий операцией, может в зависимости от сложившейся обстановки, принимать те или иные решения, подобно тому, как шахматист глядя  на доску, выбирает свой очередной ход. Затем приводится в действие математическая модель, которая показывает, какое ожидается изменение обстановки, в ответ на это решение и к каким последствиям оно приведет спустя некоторое время. Следующее текущее решение принимается уже с учетом реальной новой обстановки и т. д.  В результате  многократного повторения такой процедуры руководитель как бы «набирает опыт», учится на своих и чужих ошибках и постепенно выучиваться принимать правильные решения – если не оптимальные, то почти оптимальные.

Попробуем проиллюстрировать процесс имитационного моделирования через сравнение с классической математической моделью.

 

 

Этапы процесса построения математической модели сложной системы:

Формулируются основные вопросы о поведении системы, ответы на которые мы хотим получить с помощью модели.

  1. Из множества законов, управляющих поведением системы, выбираются те, влияние которых существенно при поиске ответов на поставленные вопросы.
  2. В пополнение к этим законам, если необходимо, для системы в целом или отдельных ее частей формулируются определенные гипотезы о функционировании.

Критерием адекватности  модели служит практика.

Трудности при построении математической модели сложной системы:

  • Если модель содержит много связей между элементами, разнообразные нелинейные ограничения, большое число параметров и т. д.
  • Реальные системы зачастую подвержены влиянию случайных различных факторов, учет которых аналитическим путем представляет весьма большие трудности, зачастую непреодолимые при большом их числе;
  • Возможность сопоставления модели и оригинала при таком подходе имеется лишь в начале.

Эти трудности и обуславливают применение имитационного моделирования.

Оно реализуется по следующим этапам:

  1. Как и ранее, формулируются основные вопросы о поведении сложной системы, ответы на которые мы хотим получить.
  2. Осуществляется декомпозиция системы на более простые части-блоки.
  3. Формулируются законы и «правдоподобные» гипотезы относительно поведения как системы в целом, так и отдельных ее частей.
  4. В зависимости от поставленных перед исследователем вопросов вводится так называемое системное время, моделирующее ход времени в реальной системе.
  5. Формализованным образом задаются необходимые феноменологические свойства системы и отдельных ее частей.
  6. Случайным параметрам, фигурирующим в модели, сопоставляются некоторые их реализации, сохраняющиеся постоянными в течение одного или нескольких тактов системного времени. Далее отыскиваются новые реализации.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2 Средства реализации имитационных моделей

 

Имитационное моделирование — это метод, позволяющий строить модели, учитывающие время выполнения функций. Полученную модель можно “проиграть” во времени и получить статистику происходящих процессов так, как это было бы в реальности. В имитационной модели изменения процессов и данных ассоциируются с событиями. “Проигрывание” модели заключается в последовательном переходе от одного события к другому. Обычно имитационные модели строятся для поиска оптимального решения в условиях ограничения по ресурсам, когда другие математические модели оказываются слишком сложными.

Одним из наиболее эффективных инструментов имитационного моделирования является система Arena компании Systems Modeling Arena позволяет строить имитационные модели, проигрывать их и анализировать результаты такого проигрывания. Имитационное моделирование – это универсальное средство для оптимизации процессов, поэтому модели с помощью Arena могут быть построены для самых разных сфер деятельности – производственных технологических операций, складского учета, банковской деятельности, обслуживания клиентов в ресторане и т.д. и т.п. В настоящей статье описана версия Arena BE 3.6.1.

Имитационная модель компании Systems Modeling включает следующие основные элементы: источники и стоки (Create и Dispose), процессы (Process) и очереди (Queue). Источники — это элементы, от которых в модель поступает информация или объекты. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Сток — это устройство для приема информации или объектов. Понятие очереди близко к понятию хранилища данных — это место, где объекты ожидают обработки. Времена обработки объектов (производительность) в разных процессах могут быть разными. В результате перед некоторыми процессами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь может быть похожа на стек — пришедшие последними в очередь объекты первыми отправляются на дальнейшую обработку (LIFO: last-in-first-out). Альтернативой стеку может быть последовательная обработка, когда первыми на дальнейшую обработку отправляются объекты, пришедшие первыми (FIFO: first -in-first-out). Могут быть заданы и более сложные алгоритмы обработки очереди. Процессы — это аналог работ в функциональной модели. В имитационной модели может быть задана производительность процессов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.3 Язык  моделирования GPSS.  Основные элементы и блоки

 

Процессы функционирования различных систем могут быть представлены той или иной совокупностью систем массового обслуживания (СМО) — стохастических, динамических, дискретно-непрерывных математических моделей. Исследование характеристик таких моделей может проводиться либо аналитическими методами, либо путем имитационного моделирования. Имитационная модель отображает стохастический процесс смены дискретных состояний СМО в непрерывном времени в форме моделирующего алгоритма. При его реализации на ЭВМ производится накопление статистических данных по тем атрибутам модели, характеристики которых являются предметом исследований. По окончании моделирования накопленная статистика обрабатывается, и результаты моделирования получаются в виде выборочных распределений исследуемых величин или их выборочных моментов. Таким образом, при имитационном моделировании систем массового обслуживания речь всегда идет о статистическом имитационном моделировании.

Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.

Динамические объекты, соответствующие заявкам в системах массового обслуживания, называются в GPSS транзактами. Они «создаются» и «уничтожаются» так, как это необходимо по логике модели в процессе моделирования. С каждым транзактом может быть связано произвольное число параметров, несущих в себе необходимую информацию об этом транзакте. Кроме того, транзакты могут иметь различные приоритеты. В начальный момент времени в 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

рис. 1

Например, в модели из двух сегментов, приведенной на рис.1, первый (основной) сегмент выполняет те же функции, что и в предыдущем примере. Заметим, однако, что поле 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,MET1,MET2

Блок 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,C1 не впускает транзакты, у которых значение параметра с именем 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,BLOK2 направляет транзакты в блок с именем BLOK2, если в момент их поступления ЛП с номером 4 включен.

  1. Модель работы системы обработки данных

2.1 Постановка задачи

Система обработки данных содержит канал связи с буфером и три ЭВМ с накопителями.

Сигналы от датчиков поступают на вход канала через каждые 10±5 мкс. В канале они буферизуются и предварительно обрабатываются в течение 8±4 мкс. Ёмкость буфера 15 сигналов.

Затем сигналы поступают на обработку на ту ЭВМ, у которой в накопителе имеется наименьшее количество сигналов. Ёмкость накопителя каждой ЭВМ рассчитана на хранение 10 сигналов. При переполнении буфера или накопителя ЭВМ сигналы теряются.

Время обработки сигнала каждой ЭВМ 30±20мкс.

Сигнал удаляется из буфера или накопителя только после завершения его обработки каналом или ЭВМ.

Периодически через каждые 200±15 мкс в канале возникают сбои. Время восстановления работоспособности канала 50±10 мкс. Если в канале произошёл сбой при передаче сигнала, то этот же сигнал опять выбирается из буфера и заново передаётся по каналу.

Промоделировать передачу на выход системы 500 сигналов.

Определить:

  • среднее время задержки сигнала в буфере и в накопителях ЭВМ,
  • количество потерянных сигналов,
  • распределение времени прохождения сигнала через систему,
  • минимальную ёмкость накопителя, при которой не будет потерянных сигналов,
  • количество сигналов, повторно переданных по каналу из-за сбоя.

Уточнение задания:

Передача каждого сигнала по каналу занимает 5 мкс.

2.2 Реализация модели

Моделирование на языке GPSS

Общее описание программы

Для построения требуемой модели в GPSS система была разделена на следующие объекты:

  • буфер канала;
  • канал:
    • часть канала, проводящая предварительную обработку сигнала;
    • часть канала, передающая сигналы на ЭВМ
  • накопители ЭВМ;
  • ЭВМ;
  • генератор сигналов;
  • генератор сбоев в канале.

Для моделирования буфера канала и накопителей ЭВМ были использованы накопители:

  • CANBUF – для буфера канала (ёмкость – 15);
  • COMP1ST, COMP2ST, COMP3ST – для накопителей ЭВМ (ёмкость – 10).

Составные части канала моделируются двумя одноканальными устройствами: CANPROC и CANTRANS. CANPROC отвечает за обработку сигналов, CANTRANS – за передачу.

ЭВМ отображены одноканальными устройствами C1PROC, C2PROC и C3PROC.

В модели используются два генератора транзактов: первый играет роль генератора сигналов, второй – сбоев в канале.

Транзакты-сигналы проходят через все объекты модели: обе части канала и одну из ЭВМ (ту, в накопителе которой в данный момент содержится меньше всего сигналов). Перед входом в канал сигнал занимает одно место в накопителе CANBUF и покидает его только после выхода из канала. Если CANBUF заполнен, сигнал удаляется. Аналогично работают накопители COMPiST (i=1..3): сигнал входит в один из них перед входом в ЭВМ, и покидает после выхода из ЭВМ. Если все COMPiST заполнены, сигнал удаляется. Число сигналов в накопителях ЭВМ содержится в хранимых значениях X1, X2, X3. ЭВМ, в накопителе которой находится меньшее число сигналов, определяется сравнением этих значений.

Транзакты-сбои после генерации сразу занимают обе части канала, где обслуживаются с большим приоритетом, чем сигналы. Время обслуживания сбоя равно времени восстановления канала после сбоя. Сразу же после прохождения канала транзакты-сбои уничтожаются. Поведение транзактов, обслуживание которых устройствами CANPROC и CANTRANS было прервано сбоем, отличается. После восстановления работы канала транзакт, обслуживавшийся в CANPROC, продолжает обслуживаться, в то время как транзакт, обслуживавшийся в CANTRANS, снова подается на вход этого устройства.

В модели используются два вида статистических объектов: 4 очереди и одна таблица. Очереди QCB, QCOMP1, QCOMP2 и QCOMP3 позволяют вычислить среднее время задержки сигнала в буфере и в накопителях ЭВМ. Таблица GIST используется для определения распределения времени прохождения сигнала через систему. Остальные данные вычисляются системой GPSS автоматически: количество потерянных сигналов равно числу транзактов, прошедших через блок TERMIT; а количество сигналов, повторно переданных по каналу из-за сбоя, равно разности числа транзактов, вошедших в устройство CANTRANS и количества транзактов, покинувших устройство CANPROC.

 

 

 

 

 

Листинг программы:

10               SIMULATE

20       CANBUF STORAGE 15

30       COMP1ST STORAGE 10

40       COMP2ST STORAGE 10

50       COMP3ST STORAGE 10

55       GIST    TABLE M1,0,50,10

 

60               GENERATE 10,5

61               ADVANCE 0

70               GATE SNF CANBUF,TERMIT

80               ENTER CANBUF

81               QUEUE QCB

 

85               SEIZE CANPROC

90               ADVANCE 8,4

95               RELEASE CANPROC

 

100      GOCAN   SEIZE CANTRANS

103              ADVANCE 5

110              RELEASE CANTRANS

 

116              LEAVE CANBUF

117              DEPART QCB

 

150      GO1     TEST L X1,X2,GO2

151              TEST L X1,X3,GO3

160              ENTER COMP1ST

161              QUEUE QCOMP1

170              SAVEVALUE 1+,1

 

175              SEIZE C1PROC

178              ADVANCE 30,20

180              RELEASE C1PROC

 

181              DEPART QCOMP1

190              LEAVE COMP1ST

200              SAVEVALUE 1-,1

210              TRANSFER ,TOEND

 

220      GO2     TEST L X2,X3,GO3

225              ENTER COMP2ST

226              QUEUE QCOMP2

230              SAVEVALUE 2+,1

 

235              SEIZE C2PROC

238              ADVANCE 30,20

240              RELEASE C2PROC

 

241              DEPART QCOMP2

250              LEAVE COMP2ST

260              SAVEVALUE 2-,1

270              TRANSFER ,TOEND

 

280      GO3     GATE SNF COMP3ST,TERMIT

281              ENTER COMP3ST

282              QUEUE QCOMP3

290              SAVEVALUE 3+,1

 

295              SEIZE C3PROC

298              ADVANCE 30,20

300              RELEASE C3PROC

 

301              DEPART QCOMP3

310              LEAVE COMP3ST

320              SAVEVALUE 3-,1

330              TRANSFER ,TOEND

 

340      TERMIT TERMINATE

 

350      TOEND   TABULATE GIST

351              TERMINATE 1

 

360              GENERATE 200,15

361              ADVANCE 0

370              PREEMPT CANTRANS,,GOCAN,,RE

375              PREEMPT CANPROC

380              ADVANCE 50,10

390              RETURN CANPROC

395              RETURN CANTRANS

400      TERMBUG TERMINATE

 

410              START 500

420              END

 

 

 

 

 

 

 

 

 

2.3 Анализ результатов моделирования

Среднее время задержки сигнала в буфере и в накопителях ЭВМ:

  • в буфере канала: 117.01 мск;
  • в носителе ЭВМ1: 62.67 мск;
  • в носителе ЭВМ2: 69.81 мск;
  • в носителе ЭВМ3: 79.75 мск;

Количество потерянных сигналов – 22.

Количество сигналов, повторно переданных по каналу из-за сбоя – 19.

Распределение времени прохождения сигнала через систему (среднее значение: 189.84 мкс):

 

 

    336

     ┬

     │

     │

     │

     │              ██

     ├              ██ ██

     │              ██ ██

     │              ██ ██

     │           ██ ██ ██ ██

     │     ██ ██ ██ ██ ██ ██ ▄▄

┌────┴────┬──┬──┬──┬──┬──┬──┬──┬──┬─────────────────────────────────┐

│          0   100   200   300   400                                │

│            50   150   250   350                                   │

└───────────────────────────────────────────────────────────────────┴

Анализ адекватности модели

Анализ адекватности проводился путем изменения ёмкости буфера канала и накопителей ЭВМ. Целью изменений было нахождение минимальной ёмкости накопителей, при которой не будет потерянных сигналов.

Было замечено, что при исходных значениях ёмкости накопители ЭВМ в процессе моделирования ни разу не наполняются. Следовательно, потерянные сигналы возникают из-за недостаточной ёмкости буфера канала. При увеличении ёмкости буфера канала (накопителя CANBUF) до 37 потерянных сигналов не стало. При ёмкости буфера 36 появляется 1 потерянный сигнал.

Затем была уменьшена ёмкость накопителей ЭВМ (накопители COMPiST). При ёмкости 6 потерянных сигналов нет, при ёмкости 5 появляется 1 потерянный сигнал.

Таким образом, минимальное значение емкости накопителей, при котором нет потерянных сигналов – 6, при ёмкости буфера 37.

Поведение модели в проведенных экспериментах соответствует ожидаемому. Модель можно считать адекватной.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

     В данной курсовой работе были рассмотрены следующие понятия такие, как имитационная модель, ее особенности, средства реализации и т.д.

В практической части  курсовой работы была рассмотрена модель работы системы обработки данных  ЭВМ. Модель была реализована на языке GPSS.

Полученные результаты  приведены в приложении.

     Исходя из этого можно сделать следующие выводы: 

  • Имитационное моделирование — это метод, позволяющий строить модели, учитывающие время выполнения функций.
  • Полученную модель можно “проиграть” во времени и получить статистику происходящих процессов так, как это было бы в реальности.
  • В имитационной модели изменения процессов и данных ассоциируются с событиями. “Проигрывание” модели заключается в последовательном переходе от одного события к другому.
  • Имитационные модели строятся для поиска оптимального решения в условиях ограничения по ресурсам, когда другие математические модели оказываются слишком сложными.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Список использованной литературы

 

  1. Советов Б.А., Яковлев С.А. Моделирование систем, М: Высшая школа, 1985.
  2. Гмурман В.Е. Теория вероятностей и математическая статистика, М: Высшая школа, 2001.
  3. Шрайбер
  4. www.gpss.ru (интернет сайт)