Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка информационных систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
3.5. Марковские процессы
41
Интервал времени между последовательным поступлением заявок.
Вероятность того, что интервал времени между последовательным поступ­лением заявок (или их отсутствия в этом интервале) превысит величину  равна е
-

. Продифференцировав функцию F()=1–e
-

распределения ин-
тервалов между поступлениями заявок, получим плотность распределения
f()=e
-

.
Распределение F()=1–e
-

в пуассоновском потоке является экспонен-
циальным с параметром , а математическое ожидание, дисперсия интер­вала  и среднее квадратичное отклонение интервала  от
ср
, соответствен-
но равны
M D( ) ; ( )
1 1
2
;
.
1
)(р–D
Видно, что среднее время
ср
между поступлениями заявок обратно
пропорционально интенсивности потока требований .
При экспоненциальном законе распределения вероятность прихода за­явки после времени  не зависит от времени прихода предыдущей заявки, что является следствием отсутствия последствия.
Длительности обслуживания и ожидания. Распределение времени обслуживания заявки соответствует экспоненциальному закону. Этот закон хорошо описывает СМО с быстрым обслуживанием основной массы за­явок, а длительные обслуживания являются сравнительно редкими.
Экспоненциальный закон времени t обслуживания имеет плотность распределения g(t)=е
-t
(t>0), где  – интенсивность обслуживания. В
этом законе математическое ожидание 1/ определяет среднее время об­служивания, а дисперсия времени обслуживания равна 1/
2
. Для вычисле-
ния вероятности окончания обслуживания за время t используется функция
.e1dtμeG(t)
t
0
μtμt
3.5. Марковские процессы
Дискретные процессы, имеющие конечное множество состояний и не­прерывное время, являются типичными процессами массового обслужива­ния. В таких процессах состояния системы изменяются скачками при смене
3. Моделирование ИС
42
событий. Например, такими событиями могут быть приход заявки, переход заявки из очереди на обслуживание или окончание обслуживания заявки и другие события. С учётом этого, и потребовав, чтобы входной поток заявок был пуассоновским, обслуживание заявок в АО починялось экспоненци­альному распределению времени, а развитие процесса в будущем не зави­село от его протекания в прошлом (отсутствие последствий), приходим к процессу, который называется марковским.
Постановка задачи. Допустим, сто СМО состоит из m одинаковых ка-
налов (пунктов), а на её вход поступает простейший поток заявок. Если имеется свободный канал, то начинается обслуживание, иначе заявка по­мещается в очередь. Если длина очереди без ограничений, то СМО может иметь неограниченное число состояний. Переходом системы за время t через соседние состояния можно пренебречь, исходя из ординарности про­стейшего потока. Поэтому через время t СМО останется в прежнем состо­янии либо перейдёт в соседнее.
Пусть СМО имеет S состояний, среди которых выделим следующие:
S0 – все пункты доступны для обслуживания; Si – i (1 im) пунктов не доступны для обслуживания; S
m+r
– все m пунктов не доступны, а r заявок стоят в очереди;
pi(t) – вероятность нахождения СМО в состоянии Si (i=0,1,2,...,n).
В силу несовместности событий сумма вероятностей состояний рав-
на 1. Таким образом, задача формулируется следующим образом:
Вычислить вероятности состояний системы от времени.
Для решения задачи в такой постановке используется система диффе-
ренциальных уравнений Колмогорова.
Составление уравнений Колмогорова упрощается, если использовать размеченный граф состояний системы. Составляющими размеченного гра­фа являются вершины, которые отражают состояния системы, и дуги, кото­рые отражают переходы между состояниями графа. При этом все дуги гра­фа имеют вес, значение которого равно плотности вероятности соответ­ствующего перехода.
Рассмотрим k-й фрагмент графа, показанный на рис. 3.1, по которому легко сформулировать правило составления уравнений Колмогорова.
Обозначим через А произведение веса дуги k-й вершины на вероятно­сти состояния, к которому дуга направлена. Знак произведения положи­тельный, если она выходит из k-й вершины, и отрицательный – если входит
3.5. Марковские процессы
43
в неё. Тогда уравнение для производной вероятности k-го состояния будет состоять из суммы обозначенных произведений.
Рис. 3.1. к-й фрагмент графа
Таким образом, рассмотрена система при 1 im (без очереди), но ещё
возможны следующие частные случаи:
1. СМО с ожиданием. Такая система характеризуется тем, что требо-
вания (заявки) остаются в очереди. Это соответствует неограниченному времени ожидания.
2. СМО с отказами. Такая система характеризуется тем, что допускает
заявки на обслуживание при наличии свободных каналов. При занятости всех каналов заявка покидает систему. Это означает отсутствие очереди.
3. СМО с ограниченной длиной очереди. В такой системе на длину очереди накладывают ограничение. В связи с этим заявка допускается в очередь, если её длина меньше заданного значения. В этом случае время ожидания в очереди непредсказуемо.
Все графы состояний рассмотренных процессов и частных случаев одинаковы по структуре, их состояния представляют собой цепочку с пря­мой и обратной связью между соседними состояниями. Такую же структу­ру графов имеют биологические процессы, связанные с различными иссле­дованиями популяции живых организмов. Поэтому их часто называют процессами «гибели и размножения».
Стационарный режим. Представляет режим, который устанавливается при t. В этом режиме состояния системы также меняются случайным образом, но их вероятности не зависят от времени. Приравняв к нулю пра­вые части дифференциальных уравнений, получим систему алгебраических уравнений, которая описывает стационарный режим и оценивает время пребывания системы в данном состоянии. Добавив к системе алгебраиче­ских уравнений нормировочное условие  Pi(t)=1, i=0,1,2,...,n, можно оце-
k-1, k
k, k+1
S
k-1 Sk Sk+1
-
k, k-1
-
k+1, k
3. Моделирование ИС
44
нить вероятности в стационарном режиме и определить общие характери­стики процесса, такие как:
средняя длина очереди, которая определяется как математическое
ожидание числа находящихся в очереди требований;
относительная пропускная способность – вероятность обслужива-
ния заявки, поступившей в систему;
среднее число занятых каналов, которое можно определить как ма-
тематическое ожидание числа занятых каналов.
3.6. Имитационное моделирование СМО
Основными компонентами, которые необходимы для выполнения ими-
тационного моделирования, являются следующие:
модель имитации процесса; язык, на котором описывают модель; программные средства работы с моделью.
При формировании имитационной модели СМО (далее модель) можно
выбирать элементы модели. В результате можно получить разные структу­ры модели. Например, в качестве элементов модели могут выступать:
события и соответственно переходы между состояниями модели; аппараты обслуживания заявок (запросов); пункты в процессе продвижения заявок.
В соответствии с этим модели подразделяются на модели, ориентиро-
ванные на события, на устройства или на процессы.
Типичным примером устройство-ориентированной модели является функционально-логический уровень представления объектов. Среди пер­вых широко распространённых языков, которые представляли модели, ори­ентированные на события, были Симскрипт, SMPL и другие, а в процессо­ориентированных моделях распространено их описание, например, на та­ких языках, как Симула, GPSS, SOL.
Структура процессо-ориентированной модели состоит из описания ис­точника заявок, алгоритмов устройств и моделей накопителей и узлов.
Моделью входного потока заявок является алгоритм вычисления мо­ментов появления заявок на входе или вычисления интервалов времени между появлением соседних заявок.
3.6. Имитационное моделирование СМО
45
Модели устройств описываются алгоритмами, которые задают дли-
тельности обслуживания, что реализуется в процессе генерации случайных величин с необходимым законом распределения. При описании модели устройства обязательно указывается порядок обслуживания очередей.
Представить функционирование накопителей можно алгоритмами, ос-
новное назначение которых заключается в определении необходимых объ­ёмов памяти для поступающих на их входы заявок.
С помощью узлов имитационной модели обеспечиваются управляющие и вспомогательные функции по маршрутизации заявок, изменению прио­ритетов их обработки и ряд других функций.
Каждый тип элементарной модели (событие, устройство, процесс, узел) имеет в ПО моделирования свою процедуру (подпрограмму). Поэтому имитационная модель фактически является последовательностью обраще­ний к этим процедурам. В ходе моделирования изменяется и отслеживается дискретное модельное время, которое измеряется в тактах. При этом изме­нение модельного времени происходит после завершения имитации теку­щих событий. Одновременно с этим файл статистики пополняется следу­ющими основными данными: каждый тип элементарной модели (событие, устройство, процесс, узел) имеет в ПО моделирования свою процедуру (подпрограмму). Поэтому имитационная модель фактически является по­следовательностью обращений к этим процедурам. В ходе моделирования изменяется и отслеживается дискретное модельное время, которое измеря­ется в тактах. При этом изменение модельного времени происходит после завершения имитации текущих событий. Одновременно с этим файл стати­стики пополняется следующими основными данными:
количество заявок, которые покинули систему по разным причинам; время простоя, связанного с занятостью каждого устройства; средние значения длины очередей и т. п.
В качестве признака окончания имитации можно считать превышение текущего времени определённого интервала или передача в систему задан­ного количества заявок. В конце имитации производится обработка накоп­ленных статистических данных.
Как правило, в имитационном моделировании применяется событий­ный метод. Смысл этого метода заключается в использовании двух допу­щений:
3. Моделирование ИС
46
1. Модель и реальная система имеют одинаковую последовательность
событий.
2. Вычисления выполняются для тех частей (процедур) модели, кото-
рые изменили своё состояние под влиянием произошедших событий.
Событийный метод организации вычислений разработан после выясне-
ния, что изменение состояний обслуживающих аппаратов в каждом такте модельного времени происходит лишь в 10–15 % случаев. Поэтому нет смысла в каждом такте модельного времени пересчитывать состояния всех элементов модели. В связи с этим событийный метод позволяет значитель­но повысить производительность моделирования.
Типовая схема реализации событийного метода в имитационном моде-
лировании приведена на рис. 3.2.
Начинается моделирование анализом генерации заявок. Результатом этого процесса являются моменты прихода первой заявки для каждого ис­точника заявок. Эти данные помещаются в список будущих событий (СБС), а сведения по этим заявкам помещаются в список заявок (СЗ).
В СБС события ранжируются по возрастанию моментов их наступления и сведения по наиболее ранним из них помещаются в список текущих со­бытий (СТС). Далее по СЗ определяют место в модели заявки А, связанной с моделируемым событием. Пусть этим местом будет устройство В. Далее программа моделирования функционирует следующим образом:
1) изменяет параметры состояния устройства В, связанные с поступле-
нием в очередь на обслуживание заявки А;
2) оценивает время прихода заявки С, вычисляет продолжительность её
обслуживания и помещает эти данные в СБС и СЗ;
СТС
СБС
ИТЕРПРЕТАТОР
Заявка А и ее место в СМО:
продвижение по сети
Изменение состояния устрой-
ства В: его занятие заявкой из
очереди
Прогноз новых событий
Рис. 3.2. Типовая схема событийного метода
3.7. Выводы
47
3) имитирует движение заявки А до её появления на входе некоторого
ОА; заявка А становится в очередь или прогнозируется наступление сле­дующего события для заявки А и эти сведения помещаются в СБС и СЗ;
4) все сведения, за текущий момент времени, записываются в файл ста­тистики и обрабатываются, после этого модельное время становится вре­менем наступления ближайшего события и процесс имитации зацикливает­ся.
Для имитационного моделирования разработаны специальные языки,
которые делятся на общецелевые и специализированные. Первые из них предназначены для использования во многих приложениях, а вторые – ори­ентированы на использование в конкретных приложениях. Например, в си­стеме моделирования микроэлектронной аппаратуры или в моделировании протекания вулканической деятельности в определённых районах и т. п.
Для целей имитационного моделирования можно использовать и язык
СИ, но такой подход существенно увеличит объём программ и время коди­рования.
3.7. Выводы
Информационная система – типичный представитель системы
массового обслуживания (СМО). Модели СМО характеризуются двумя типами элементов – ресурсами (АО) и заявками (транзактами). Для получения модели СМО задают входной поток заявок, дисциплину их обслуживания и описать АО. Входной поток заявок задают функцией распределения временных интервалов между приходом соседних заявок, а среднее число заявок в единицу времени называется интенсивностью потока.
Модель СМО представляет процесс движения заявок в системе. Основ-
ным показателем работы АО является среднее время обслуживания заявки. Состояния АО характеризуются значениями – «свободен», «занят» и дли­нами очередей на их входах. Состояния заявок принимают значения «об­служивание» или «ожидание».
В результате моделирования определяются следующие основные ха-
рактеристики СМО:
производительность; среднее время обслуживания заявок; средние длины очередей;
3. Моделирование ИС
48
загрузки АО; другие характеристики, определяющие эффективность СМО.
Математические модели СМО могут описывать связи параметров си­стемы в явном виде и тогда они называются аналитическими или имитиро­вать процесс обработки информации и тогда они называются имитацион­ными.
Аналитическая модель СМО описывает в явном виде связь между выходными, внутренними и внешними параметрами. Такие модели, если они существуют, просты и эффективны в реализации вычислительного процесса. Однако их можно получить для относительно «простых» СМО. Учитывая, что доля «простых» СМО в практике моделирования невелика, в наибольшей мере распространена практика применения имитационных мо­делей. При этом, выигрывая в универсальности, жертвуют существенными затратами вычислительных ресурсов на их реализацию.
Имитационная модель СМО – алгоритм, позволяющий задавать мо­делируемые отрезки времени и отслеживать изменения переменных (собы­тие) на этих отрезках. Такой процесс фактически имитирует последова­тельность событий в системе при вероятностном характере её параметров. При большом количестве событий накапливается статистика результатов и после её обработки оцениваются выходные параметры системы.
Вопросы для самоконтроля
1. Какие компоненты необходимо задать, чтобы описать СМО?
2. Как классифицируются входные потоки СМО?
3. Какие дисциплины обслуживания вы знаете?
4. Охарактеризуйте группу основных характеристик СМО.
5. При каких допущениях можно получить аналитические модели
СМО?
6. Чем характеризуются марковские цепи?
7. Приведите уравнения Колмогорова для установившегося режима.
8. Чем характеризуется сетевая имитационная модель?
9. Приведите вариант схемы реализации событийного метода имита-
ционного моделирования.
10. Укажите параметры, характеризующие АО.
Вопросы для самоконтроля
49
11. Какой закон распределения имеет входной поток заявок в СМО?
12. В чём заключается суть имитационного моделирования?
13. Перечислите параметры производительности ИС.
14. В чём заключается различие базисных и интерфейсных моделей?
15. Перечислите и раскройте свойства простейшего потока событий.
16. Как вычисляют число требований в заданном интервале времени?
17. Закон распределения интервалов времени между приходом заявок.
18. Чем определяется время ожидания и обслуживания заявок в АО.
19. Чем характеризуются марковские процессы?
20. Как записывается система уравнений Колмогорова?
21. Приведите пример фрагмента размеченного графа СМО.
22. В чём заключается особенность стационарного режима СМО?
23. Приведите особенности СМО с отказами.
24. Приведите особенности чистой СМО с ожиданием.
25. Приведите особенности СМО с ограниченной длиной очереди.
50
4. ТЕХНОЛОГИИ РАЗРАБОТКИ ИС
4.1. Организация разработки ПО ИС
При подготовке материала разд. 4 использована литература [20–27].
Объём программного обеспечения (ПО) современных ИС составляет сотни тысяч операторов. Создание такого объёма ПО в ограниченный срок под силу только коллективу специалистов с эффективной организацией труда. Известная шутка физиков – «объять необъятное можно только необъятным числом сотрудников» – остаётся только шуткой, так как про­должительность разработки, несмотря на рост числа исполнителей, всё равно ограничивается некоторой предельной величиной.
Сократить сроки создания ПО и повысить его качество можно за счёт продуманной специализации разработчиков, а также организацией рацио­нального аппарата управления коллективом. Такой подход и сегодня оста­ётся наиболее эффективным и современным. Традиционно важнейшими функциями аппарата управления коллективом являются:
своевременное предоставление ресурсов (машинных, финансовых, человеческих и др.), необходимых для эффективного выполнения работ;
контроль исполнительной дисциплины и координация хода работы.
Вопрос рациональной специализации труда разработчиков ПО факти­чески сводится к нахождению оптимального компромисса между глубиной специализации и соответствующей ей эффективностью труда.
Углублённое разделение тру­да разработчиков ПО эффектив­но в случае его умелого исполь­зования. Рассмотрим широко из­вестный график (рис. 4.1), иллю­стрирующий зависимость эффек­тивности Э умственного труда (по вертикали) от глубины его разделения Р (по горизонтали).
График показывает, что с
углублением разделения умственного труда его эффективность сначала растет до величины Э
max
при оптимальной специализации Ро, после чего с
продолжением углубления специализации эффективность падает. В тоже
Э
ma
Э
min
Э
P
Р
Р
Рис. 4.1. Зависимость эффективности ум- ственного труда от глубины его разделения
Э=f(Р
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]