Имитационное моделирование сетей на языке SLAM: методы, операторы и обработка событий


Тип работы:  Материал
Бесплатно:  Антиплагиат
Объем: 16 страниц
В избранное:   

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

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

КАЗАХСКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ИМЕНИ КАНЫША ИМАНТАЕВИЧА САТПАЕВА

КАФЕДРА «ТЕХНИЧЕСКАЯ ЭКСПЕРТИЗА и ОЦЕНКА»

Реферат

Тема: Имитационное моделирование как средство анализа сетей

Специальность 541530 - «Информационные системы в экономике» (бакалавриат)

Выполнила: студентка 3 курса

дневного отделения

группы ИСЭб - 03 - 2р

Быкова У.

Приняла:

Исмаилова Р. Т.

Алматы

2005

Оглавление. стр.

Введение 3

I Имитационное моделирование как средство анализа сетей. 6

II Входные операторы СЛАМ. 10

2. 1 Форматы входных операторов. 10

2. 2 Форматы сетевых операторов. 11

2. 3 Форматы управляющих операторов. 13

2. 4 Результаты сообщения СЛАМ. 13

Заключение 16

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

Введение.

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

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

Процесс имитационного моделирования начинается с определения подлежащих решению проблем, что в свою очередь определяет состав и границы исследуемой системы.

Модель.

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

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

Построение моделей. Модель представляет собой абстрактное описание системы, уровень детализации которого определяет сам исследователь. Человек принимает решение о том, является ли данный элемент системы существенным, а следовательно, будет ли он включен в описание системы. Это решение принимается с учетом цели, лежащей в основе разработки модели. От того, насколько хорошо исследователь умеет выделять существенные элементы и взаимосвязи между ними, зависит успех моделирования.

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

Имитационные модели.

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

  • без ее построения, если это проектируемая система;
  • без вмешательства в ее функционирование, если это действующая система, экспериментирование с которой или слишком дорого, или небезопасно;
  • без ее разрушения, цель эксперимента состоит в определении пределов воздействия на систему.

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

Имитационное моделирование - это представление динамического поведения системы посредством продвижения ее от одного состояния к другому в соответствии с хорошо определенными операционными правилами.

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

Процесс имитационного моделирования.

Процесс последовательной разработки имитационной модели начинается с создания простой модели, которая затем постепенно усложняется в соответствии с требованиями, предъявляемыми решаемой проблемой. В процессе имитационного моделирования можно выделить следующие основные этапы:

1. Формулирование проблемы; описание исследуемой проблемы и определение целей исследования.

2. Разработка модели: логико-математическое описание моделируемой системы в соответствии с формулировкой проблемы.

3. Подготовка данных: идентификация, спецификация и сбор данных.

4. Трансляция модели: перевод модели на язык, приемлемый для используемой ПЭВМ.

5. Верификация: установление правильности машинных программ.

6. Валидация: оценка требуемой точности и соответствия имитационной модели реальной системе.

7. Стратегическое и тактическое планирование: определение условий проведения машинного эксперимента с имитационной моделью.

8. Экспериментирование: прогон имитационной модели на ПЭВМ для получения требуемой информации.

9. Анализ результатов: изучение результатов имитационного эксперимента для подготовки выводов и рекомендаций по решению проблемы.

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

Основываясь на принципах имитационного моделирования и используя программы языка СЛАМ можно делать анализ сетей.

I Имитационное моделирование как средство анализа сетей.

На основе языка СЛАМ и на принципах имитационного моделирования, которые интерпретируют и выполняют описывающие сеть операторы, имитируют тем самым реальную систему.

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

Механизмом обработки упорядоченной во времени последовательности событий поступления компонентов в узлы является календарь событий. Календарь состоит из списка событий поступления компонентов, каждое из которых характеризуется «временем свершения» и «узлом завершения». Время свершения события определяет момент времени, в который компонент должен поступить в узел. Узел, в который затем следует компонент, называется узлом завершения. События в календаре ранжируются во времени свершения в соответствии с правилом LVF (low-value-first - меньшее значение первым) .

На рисунке 1 приведена блок-схема процедуры обработки следующего события, применяемой в СЛАМ при имитации сетей. Работа процессора начинается с интерпретации операторов СЛАМ. Затем осуществляется фаза инициализации, которая завершается до начала фазы выполнения имитации. В течение фазы инициализации процессор помещает в календарь все события, которые должны произойти в каждом узле CREATE в момент первого его освобождения. Кроме того, генерируются компоненты в узлах QUEUE и, где необходимо, планируются события окончания обслуживания. Следовательно, календарь событий первоначально содержит по одному событию поступления компонента для каждого узла CREATE и по одному событию окончания обслуживания для каждого занятого обслуживающего устройства в сети.

Фаза выполнения имитации начинается с извлечения первого события из календаря. Процессор при этом увеличивает текущее имитационное время TNOW так, чтобы оно стало равным моменту наступления первого события. Затем происходит обработка события с выполнением всех действий, предусмотренных логической процедурой, связанной с типом узла, в который поступил компонент. Например, если компонент поступил в узел

Рисунок 1. Блок-схема процедуры обработки следующего события в сетевой имитации.

AWAIT, процедура обработки данного события состоит в следующем: первоначально проверяется наличие необходимого ресурса; если имеется необходимое количество ресурса, компонент захватывает его и покидает узел; в противном случае компонент помещается в определенный файл и ожидает поступления необходимого количества ресурса. Хотя логические процедуры обработки событий в разных узлах различны, они всегда приводят к одному из трех следующих результатов:

1) компонент направляется в другой узел;

2) компонент уничтожается в узле;

3) компонент задерживается в узле в зависимости от состояния системы.

При направлении компонента в другой узел осуществляется проверка действий, начинающихся в узле, из которого он направляется. Если в нем не начинается ни одно из действий, в текущий момент времени TNOW планируется поступление компонента в следующий узел. Если следующего узла нет, компонент уничтожается. Если в данном узле начинается несколько действий, для выполнения выбираются только М из них (М - заданное для этого узла число) . Выбор осуществляется в соответствии с определенными для этих действий условиями и вероятностями. Пусть выбрано некоторое действие; тогда компонент или его дубликат направляется в узел, в котором это действие завершается. Компонент поступит в завершающий узел в момент времени, равный TNOW плюс продолжительность действия.

После того как все события запланированы, процессор СЛАМ осуществляет проверку следующих условий завершения имитационного прогона:

  1. TNOW больше или равно заданного пользователем времени завершения имитационного прогона;
  2. календарь событий пуст;
  3. узел TERMINATE освобожден, т. е. пуст.

Если ни одно из условий завершения имитации не выполняется, процессор СЛАМ переходит к обработке следующего события поступления, выбранного из календаря событий. При завершении имитационного прогона вычисляются статистические оценки, и печатается заключительный отчет. Затем осуществляется проверка необходимости выполнения дополнительных имитационных прогонов. Если такая необходимость есть, инициируется следующий прогон. При завершении всех прогонов работа процессора СЛАМ прекращается, и управление передается операционной системе.

Описанная выше процедура обработки следующего события хорошо определена для всех случаев, кроме случая, когда на один и тот же момент времени запланированы два или больше событий поступления. Чтобы лучше понять проблему, рассмотрим пример, в котором имеется затвор DOOR. Этот затвор в текущий момент времени открыт. Имеются также компоненты, поступление которых запланировано в один и тот же момент времени следующими операторами:

оператор 1 оператор 2

AWAIT, DOOR; CLOSE, DOOR;

Если первым обрабатывается оператор 1, то затвор DOOR будет открыт, а компонент покинет узел AWAIT. Напротив, если первым обрабатывается оператор 2, поступление компонента в операторе 1 будет задержано в узле AWAIT, т. к. затвор DOOR только что был закрыт. Следовательно, порядок обработки одновременных событий поступления компонентов в узел может влиять на результаты имитации. Эта проблема важна только в имитационных языках с целочисленным счетчиком времени.

При описании правил развязки в узле одновременных событий поступления, применяемых в СЛАМ, удобно разбивать все события, содержащиеся в календаре, на «текущие» и «будущие». Текущими являются те события, наступление которых запланировано на текущий момент имитационного времени, тогда как будущие события запланированы на некоторые моменты в будущем. Причиной основного различия между текущими и будущими событиями поступления является различие применяемых при этом процедур развязки.

Планирование события поступления как текущего может быть результатом планирования либо поступления в следующий узел, либо поступления в узел окончания операции в случае, когда операция имеет нулевую продолжительность. В обоих случаях момент наступления события равен текущему имитационному времени. Процедура планирования события в СЛАМ всегда помещает текущие события в начало календаря независимо от других находящихся в нем событий. Следовательно, текущие события помещаются в календарь по правилу LIFO (last-in, first-out - «последним вошел - первым вышел») . В том случае, когда из одного и того же узла начинаются несколько действий с нулевой продолжительностью выполнения, события поступления, соответствующие окончанию каждого действия, помещаются в начало календаря в порядке, предусмотренном последовательностью операторов событий, т. е. первое событие соответствует первому действию с нулевой продолжительностью, второе событие - второму подобному действию и т. д.

Поскольку единственным механизмом продвижения имитационного времени в сетевых моделях СЛАМ является завершение действия, планирование будущих событий обязательно связано с событием поступления, вызванным завершением действия с ненулевой продолжительностью. Процедура развязки при планировании будущих событий использует вторичное ранжирование, которое в СЛАМ определяется по умолчанию правилом FIFO (first-in, first-out - «первым вошел - первым вышел») . Вторичное ранжирование может задаваться разработчиком в соответствии с правилами FIFO; LIFO; LVF (NATR) (меньшее значение атрибута с номером NATR - первым, или HVF (NATR) ), (большее значение атрибута с номером NATR - первым) . Если при вторичном ранжировании по правилам LVF или HVF связка событий остается, то она разбивается с помощью ранжирования по правилу FIFO.

II Входные операторы СЛАМ.

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

2. 1 Форматы входных операторов.

Процессор СЛАМ считывает входные операторы с терминала или его эквивалента. Первые три символа имени каждого входного оператора его однозначно идентифицируют. Каждое поле оператора разделяется запятой или косой чертой либо заключается в скобки. Выбор разделителя зависит от особенностей типа оператора и записи поля и указывается в описании каждого типа оператора. Косая черта и скобки используются в основном для разделения необязательных спецификаций; поэтому они сами необязательны. Запятыми разделяются поля, которые надо указывать обязательно. Специальные знаки ( +, -, *, / ) применяются для обозначения арифметических операций, а точка с запятой обозначает конец оператора. Эти знаки не должны употребляться в метках сетевых операторов или в задаваемых пользователем алфавитно-цифровых именах.

Поле в операторе может отсутствовать из-за того, что нет соответствующей записи. Например, действие нулевой продолжительности условий. заканчивающееся в узле с меткой EXIT, может быть задано с помощью умолчания полей продолжительности и условий следующим образом:

ACTIVITY,, , EXIT;

Поля, оставшиеся неопределенными в операторе принимают значения по умолчанию. Например, действие ACTIVITY с продолжительностью 1, не имеющее условий и заканчивающееся в следующем узле, может быть задано с умолчанием двух последних полей таким образом:

ACTIVITY, 1;

Узлом завершения данного действия считается узел следующего по порядку оператора.

Входные операторы считываются по свободному формату, который позволяет размещать один оператор в любом месте строки и на нескольких строках. Единственным ограничением является то, что одно поле не может быть разнесено на разные строки. Предполагается, что оператор продолжается на следующей строке в том случае, если последним, отличным от пробела символом оператора на данной строке являются [, / (+ - *) ] или последняя точка логического оператора (. AND. ) . Если последний, отличный от пробела символ строки является любым другим, предполагается, что оператор закончился. Тем не менее предпочтительнее, если оператор заканчивается явно, т. е. с использованием завершающей точки с запятой, которая позволяет добавлять комментарии после текста самого оператора. Игнорируются все пробелы, кроме встретившихся внутри алфавитно-цифрового поля, что позволяет улучшить читабельность операторов. Например, оператор:

ACTIVITY, 10, ATRIB (1) . EQ. 1 . AND. TNOW. LT. 100, LOOP;

может быть разнесен на три строчки следующим образом:

ACTIVITY, 10,

ATRIB (1) . EQ. 1. AND.

TNOW. LT. 100, LOOP;

Следует отметить, однако, что три строки потребуют большего времени на интерпретацию, чем одна.

Числовые данные могут вводиться в целом и десятичном виде, со знаком или без него. Кроме того, очень большие или очень малые числа могут вводиться в форме с плавающей запятой с использованием формата Е. Например, число 10 может быть введено как 10, 10., +10, 1. Е+1, 1Е1 или 100Е-1. Если десятичное число вводится в поле, определенное как целое, то дробная часть отбрасывается. Аналогично, если целое число вводится в десятичное поле, оно переводится в десятичный формат. Таким образом, входной процессор СЛАМ не отличает 1. от 1 независимо от заданного типа поля.

Алфавитно-цифровые поля воспринимаются при вводе как некоторые последовательности символов, начинающиеся с буквы, но не содержащие специальных знаков, перечисленных выше. Пробелы внутри алфавитно-цифровых полей воспринимаются как значащие символы, т. е. Ь 1 и Ы будут рассматриваться как разные последовательности. Поскольку поля не могут быть разнесены на несколько строк, длина алфавитно-цифрового поля не должна превышать 80 символов. Кроме того, т зависимости от введенного поля читаются только первые 3, 4, 8, 16 или 20 символов. В качестве примера допустимых алфавитно-цифровых полей можно привести следующие: ВАКВЕК, СКАЫЕ, 5927, К. 1. или Л. ООЕ.

2. 2 Форматы сетевых операторов

Сетевые операторы, записываются, начиная с 7-й колонки, причем в колонках с 1 по 5 указывается метка узла. Из пяти знаков метки узла принимаются во внимание только первые четыре. Так, например, метки ЬАЫЕ1 и ЬАЫЕ2 не различаются.

Сетевым операторам должен предшествовать оператор МЕТ\УОКК, а за последним сетевым оператором должен стоять оператор ЕМОМЕТ\\ЮКК. Ключевыми в имени оператора КЕТ\\ЮКК являются символы МЕТ, располагаемые в любом месте строки, которые сообщают процессору СЛАМ, что в последующих строках стоят сетевые операторы. Оператор - МЕТШОКК имеет два дополнительных поля:

ЫЕТ\\ЮКК, опция, устройство;

которые определяют способ запоминания декодированной сети для последующей загрузки. Если опция принимает значение 5АУЕ, декодированная сеть запоминается на устройстве с указанным логическим номером (накопитель на магнитной ленте или магнитном диске) . Следовательно, оператор

ТШОКК, ЗАУЕ, 3;

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

ЫЕТШОКК, ЬОАО. З;

... продолжение

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
Имитационное и компьютерное моделирование дискретных систем на языке GPSS
Аналитическое и имитационное моделирование систем массового обслуживания с применением сетей Петри и кластерного анализа
Аналитическое и имитационное моделирование и методы кластерного анализа
Имитационное моделирование: теория, методы и области применения
Имитационное моделирование сервиса Push-to-Talk в реальном времени в архитектуре IMS на языке GPSS
Аналитическое и имитационное моделирование логистических систем
Имитационное моделирование и теория массового обслуживания: моделирование участка производственного цеха с использованием GPSS
Аналитическое и имитационное моделирование систем массового обслуживания
Имитационное моделирование сложных систем: этапы, математические модели, принципы алгоритмизации и статистическая оценка результатов
Имитационное моделирование локальной сети Ethernet в среде OPNET: оценка производительности, надежности и технико-экономическое обоснование
Дисциплины



Реферат Курсовая работа Дипломная работа Материал Диссертация Практика - - - 1‑10 стр. 11‑20 стр. 21‑30 стр. 31‑60 стр. 61+ стр. Основное Кол‑во стр. Доп. Поиск Ничего не найдено :( Недавно просмотренные работы Просмотренные работы не найдены Заказ Антиплагиат Просмотренные работы ru ru/