
- •Компоненты и ресурсы информационных сетей.
- •Методы маршрутизации информационных потоков.
- •57. Методы оценки эффективности информационных сетей
- •58. Основные понятия теории моделирования и классификация видов моделирования
- •59. Математические методы моделирования процессов и систем.
- •60.Основные положения имитационного (статистического) моделирования
- •61. Понятие и структура системы массового обслуживания.
- •Формирование случайных чисел с различными законами распределения.
- •63. Порядок проведения экспериментов с моделями.
- •Понятие адекватности модели и пути подтверждения адекватности.
- •65 . Оценка необходимого количества реализаций, точности и достоверности результатов.
- •66. Программные среды для проведения моделирования.
Метод статистического
моделирования заключается в воспроизведении
исследуемого
процесса при помощи вероятностной
математической модели и
вычислении
характеристик этого процесса. Основан
метод на многократном
проведении испытаний
построенной модели с последующей
статистической
обработкой
полученных данных с целью определения
характеристик
рассматриваемого
процесса в виде статистических оценок
его параметров.
Рассмотрим
уравнение
y
= f (x, t, ξ),
(1.1)
где х - фазовая
переменная, t- время, ξ - случайный
параметр, закон
распределения
которого нам известен.
Если функция f
существенно нелинейна, то для решения
данной задачи нет
универсальных
методов. Однако, если удается построить
функцию
y=ϕ(ξ)
и датчик случайных чисел ξ1, ξ2 , ... ξ N
с заданным законом распределения,
то значение y
может быть вычислено как
y
= Σ ϕ
(ξ i) / N,
(1.2)
где ϕ
(ξ i) - значение i-ой реализации.
Если f (x, t, ξ)
является аналитической моделью процесса
преобразования
информации или
технологического процесса обработки
детали, то ϕ(ξ)
будет
статистической
моделью. Некоторые принципы и приемы
построения статистических моделей
будут рассмотрены позднее. Важно то,
что при построении
функции y=ϕ(ξ)
и датчика случайных чисел ξ1, ξ2 , ... ξ
N на бумаге в подавляющем
большинстве случаев
достаточно легко реализовать их на ЭВМ
в рамках
соответствующего
программного обеспечения.
Этот прием
распространяется и на более сложные
случаи, когда уравнение (1.1)
содержит не только
случайные параметры, но и случайные
функции.
После получения
на ЭВМ N реализаций следует этап
обработки статистики,
позволяющий
рассчитать, наряду с математическим
ожиданием (1.2) и другие
параметры ϕ(ξ),
например дисперсию
D=1/N*Σ x
i - 1/N2
*(Σ x i).
В методе
статистистических испытаний для
получения достаточно надежных
результатов
необходимо обеспечивать большое число
реализаций N, кроме того, с
изменением хотя
бы одного исходного параметра задачи
необходимо производить
серию из N испытаний
заново. При сложных моделях неоправданно
большая
величина N может
стать фактором, задерживающим получение
результата. Поэтому
важно правильно
оценить необходимое число результатов.
Доверительный
интервал ε,
доверительная вероятность α, дисперсия
D и число реализаций N
связаны соотношением
ε
= D/N Ф-1
(α),
где Ф-1
(α) - функция,
обратная функции Лапласа.
На практике можно
воспользоваться соотношением
N
≤ D/ε2
* 6,76
для α ≥ 0,99 ,
принимая, с целью надежности, наибольшее
значение N. Оценка
дисперсии D может
быть получена предварительно с помощью
той же
статистической
модели при числе реализаций n, n<<
N.
Большое значение
при реализации модели на ЭВМ имеет
вопрос правильного выбора языка
программирования.
Язык программирования
должен отражать внутреннюю структуру
понятий при описании широкого круга
понятий. Высокий уровень языка
моделирования значительно упрощает
программирование моделей. Основными
моментами при выборе ЯМ является:
проблемная
ориентация;
возможности сбора,
обработки, вывода результатов;
быстродействие;
простота отладки;
доступность
восприятия.
Этими свойствами
обладают процедурные языки высокого
уровня. Для моделирования могут быть
использованы языки Имитационного
моделирования (ЯИМ) и общего назначения
(ЯОМ).
Более удобными
являются ЯИМ. Они обеспечивают:
удобство
программирования модели системы;
проблемная
ориентация.
Недостатки
ЯИМ:неэффективность рабочих программ;
сложность
отладки;недостаток документации.
Основные функции
языка программирования:
управление
процессами (согласование системного
и машинного времени);
управление ресурсами
(выбор и распределение ограниченных
средств описываемой системы).
Как специализированные
языки, ЯИМ обладают некоторыми
программными свойствами и понятиями,
которые не встречаются в ЯОН. К ним
относятся:
Совмещение.
Параллельно протекающие в реальных
системах S
процессы представляются с помощью
последовательно работающей ЭВМ. ЯИМ
позволяют обойти эту трудность путём
введения понятий системного времени.
Размер.
ЯИМ используют динамическое распределение
памяти (компоненты модели системы М
появляются в ОЗУ и исчезают в зависимости
от текущего состояния. Эффективность
моделирования достигается так же
использованием блочных конструкций:
блоков, подблоков и т.д.
Изменения.
ЯИМ предусматривают обработку списков,
отражающих изменения состояний процесса
функционирования моделируемой системы
на системном уровне.
Взаимосвязь.
Для отражения большого количества
между компонентами модели в статике и
динамике ЯИМ включаем системно
организованные логические возможности
и реализации теории множеств.
Стохастичность.
ЯИМ используют специальные программные
генерации последовательностей случайных
чисел, программы преобразования в
соответствующие законы распределения.
Анализ.
ЯИМ предусматривают системные способы
статистической обработки и анализа
результатов моделирования.
Наиболее известными
языками моделирования являются SIMULA,
SIMSCRIPT,
GPSS,
SOL,
CSL.
Для языков,
используемых в задачах моделирования,
можно составить классификацию следующего
вида. (см. рис. 9.1.)
Рис. 9.1. Классификация
языков моделирования.
Язык DYNAMO
используется для решения разностных
уравнений.
Представление
системы S
в виде типовой схемы, в которой участвуют
как дискретные, так и непрерывные
величины, называются комбинированными.
Предполагается, что в системе могут
наступать события двух видов: 1) события,
от состоянии Zi;
2) события, зависящие от времени t.
При использовании языка GAPS
на пользователь возлагается работа по
составлению на яз. FORTRAN
подпрограмм, в которых описываются
условия наступления событий, законы
изменения непрерывной величины, правил
перехода из одного состояния в другое.
SIMSCRIPT
- язык событий, созданный на базе языка
FORNRAN.
Каждая модель Mj
состоит из элементов, с которыми
происходят события, представляющие
собой последовательность формул,
изменяющих состояние моделируемой
системы с течением времени. Работа со
списками, определяемые пользователем,
последовательность событий в системном
времени, работа с множествами. FORSIT
- пакет ПП на языке FORNRAN
позволяет оперировать только
фиксированными массивами данных,
описывающих объекты моделируемой
системы. Удобен для описания систем с
большим числом разнообразных ресурсов.
Полное описание динамики модели можно
получить с помощью ПП.
SIMULA
- расширение языка ALGOL.
Блочное представление моделируемой
системы. Функционирование процесса
разбивается на этапы, происходящие в
системном времени. Главная роль в языке
SIMULA
отводится понятию параллельного
оперирования с процессами в системном
времени, универсальной обработки
списков с процессами в роли компонент.
GPSS-
интегрирующая языковая система,
применяющаяся для описания пространственного
движения объектов. Такие динамические
объекты в языке GPSS
называются транзактами
и представляют собой элементы потока.
Транзакты "создаются" и "уничтожаются".
Функцию каждого из них можно представить
как движение через модель М с поочерёдным
воздействием на её блоки. Функциональный
аппарат языка образуют блоки, описывающие
логику модели, сообщая транзактам, куда
двигаться и что делать дальше. Данные
для ЭВМ подготавливаются в виде пакета
управляющих и определяющих карт, которым
составляется по схеме модели, набранной
из стандартных символов. Созданная
программа GPSS,
работая в режиме интерпретации,
генерирует и передаёт транзакты из
блока в блок. Каждый переход транзакта
приписывается к определенному моменту
системного времени.
При моделировании
предпочтение отдают языку, который
более знаком, универсален. Вместе с
увеличением числа команд возрастают
трудности использования ЯИМ. Получены
экспертные оценки ЯИМ по степени их
эффективности. Язык программирования
должен отражать внутреннюю структуру
понятий при описании широкого круга
понятий. Высокий уровень языка
моделирования значительно упрощает
программирование моделей. Наиболее
известными языками моделирования
являются Pascal,
C++,
GPSS,
Delphi,
табличный процессор Excel,VB5
Для моделирования
сравнительно простых СМО обычно
используют Pascal,
который по сравнению с языками типа C,
C++,Delphi
отличается более простыми конструкциями,
меньшим количеством стандартных
процедур и функций и т. п.
В более простых
случаях имитационного моделирования
с помощью языка Pascal
применяется структурная методология
программирования. В более сложных
случаях для имитационного моделирования
применяют объектно-ориентированное
программирование (ООП). Разработанная
на базе языка Pascal
объектно-ориентированная система
визуального программирования DELPHI,
а также VB5,
позволяет получать приложения для
WINDOWS,
что в свою очередь позволяет за
сравнительно короткое время решать
задачи имитационного моделирования
на современном уровне.
Для моделирования
достаточно сложных СМО используются
языки программирования типа С, С++.
В настоящее время
при программировании достаточно сложных
задач, какими являются в большинстве
своем и задачи имитационного моделирования,
предпочтение отдается языку С++ по
сравнению с языком С по следующим
причинам: в языке С++ реализован
объектно-ориентированный подход к
программированию, который позволяет
решить проблему сложности программ;
кроме того, С++ обеспечивает более
тщательный контроль соответствия
типов, поток ввода-вывода С++ более прост
для применения, чем функции printf
и scanf
в языке С и т. п.
55 Протокольные
реализации и сетевые службы
Протокол
- стандарт, определяющий поведение
функциональных блоков при передаче
данных. Протокол: - задается набором
правил взаимодействия функциональных
блоков, расположенных на одном уровне;
- реализуется одной либо группой
программ. - описывает: синтаксис
сообщения, имена элементов данных,
операции управления и состояния.
Протоколы работают
на разных уровнях модели взаимодействия
открытых систем OSI/ISO.
Функции протоколов определяются
уровнем, на котором он работает. Несколько
протоколов могут работать совместно.
Это так называемый стек, или набор,
протоколов.
Как сетевые функции
распределены по всем уровням модели
OSI,
так и протоколы совместно работают на
различных уровнях стека протоколов.
Уровни в стеке протоколов соответствуют
уровням модели OSI.
В совокупности протоколы дают полную
характеристику функций и возможностей
стека.
Так
как стек TCP/IP
был
разработан до появления модели
взаимодействия открытых систем ISO/OSI,
то,
хотя
он также имеет многоуровневую структуру,
соответствие
уровней стека TCP/IP
уровням
модели OSI
достаточно
условно /8/.
Передача данных
по сети, с технической точки состоит
из последовательных шагов, каждому из
которых соответствуют свои процедуры
или протокол. Таким образом, сохраняется
строгая очередность в выполнении
определенных действий. Кроме того, все
эти действия должны быть выполнены в
одной и той же последовательности на
каждом сетевом компьютере. На
компьютере-отправителе действия
выполняются в направлении сверху вниз,
а на компьютере-получателе снизу вверх.
Отправитель в соответствии с протоколом,
разбивает данные на небольшие блоки
(пакеты), с которыми работает протокол,
добавляет к пакетам адресную информацию,
чтобы получатель мог определить, что
эти данные предназначены ему,
подготавливает данные к передаче через
сетевой адаптер и далее – по сети.
Получатель в соответствии с протоколом
выполняет те же действия, но только в
обратном порядке: принимает пакеты
данных из сети; через плату сетевого
адаптера передает данные в компьютер;
удаляет из пакета всю служебную
информацию, добавленную отправителем,
копирует данные из пакета в буфер –
для их объединения в исходный блок,
передает приложению этот блок.
И отправителю, и
получателю необходимо выполнить каждое
действие одинаковым способом, с тем
чтобы пришедшие по сети данные совпадали
с отправленными.
Пример
инкапсуляции пакетов в стеке TCP/IP
Сетевая
служба - прикладная программа, которая:
- взаимодействует в сети с клиентами,
серверами и данными; - управляет
процедурами распределенной обработки
данных; - информирует пользователей о
происходящих в сети изменениях. Сетевая
служба: - использует сервис, предоставляемый
областью взаимодействия; и- обеспечивает
связь прикладных процессов, расположенных
в различных абонентских системах сети.
Сетевая служба
решает задачи обмена данными, задачи,
порождаемые распределенной
обработкой данных. К таким задачам
относится
обеспечение
непротиворечивости нескольких копий
данных, размещенных на разных машинах
(служба
репликации) или
организация
выполнения
одной задачи
параллельно на нескольких машина сети
(служба вызова
удаленных
процедур).
Среди сетевых
служб можно
выделить административные, которые
ориентированы на администратора и
служат для
организации
правильной
работы сети. Служба администрирования
учетных записей
о пользователях, которая
позволяет администратору
вести общую базу
данных о пользователях сети, система
мониторинга
сети, позволяющая захватывать и
анализировать сетевой трафик, служба
безопасности, в
функции которой
может входить
среди прочего
выполнение процедуры
логического входа с последующей
проверкой пароля, — все это примеры
административных служб.
Реализация сетевых служб осуществляется
программными средствами. Основные
службы — файловая служба и служба
печати — обычно предоставляются
сетевыми операционной
системой, а вспомогательные, например
служба баз
данных, факс или передачи
голоса, —
системными сетевыми приложениями или
утилитами, работающими
в тесном контакте с сетевой ОС. Вообще
говоря,
распределение служб между
ОС и утилитами достаточно условно
и меняется в
конкретных реализациях ОС
65 . Оценка необходимого количества реализаций, точности и достоверности результатов.
66. Программные среды для проведения моделирования.