Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Доррер Методы моделирования дискретных систем.doc
Скачиваний:
90
Добавлен:
12.09.2019
Размер:
3.95 Mб
Скачать

3.5. Исследование динамики цепей Маркова при большом числе шагов

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

Как было выяснено выше, динамика смены состояний однородной цепи Маркова определяется поведением матрицы Pk при к = 1,2,.... Однако непосредственное применение формулы (3.5) для определения переходных характеристик этого процесса, в частности, скорости сходимости к предельным вероятностям пребывания в различных состояниях при k ->∞, неудобно.

1. Для оценки скорости сходимости можно привести матрицу Р к диагональному виду с помощью линейного преобразования. Предположим, что матрица Р имеет п собственных чисел λ,...,λп. Тогда ее можно привести к виду:

P = UΛU-1 (3.27)

где Λ- диагональная матрица

а матрица U составлена из собственных векторов матрицы Р так, что i-й столбец матрицы U является собственным вектором матрицы Р при собственном числе λ.

Напомним, что iсобственное число матрицы Р λ, есть i-й корень алгебраического уравнения

det{Pl) = 0, (3.28)

а собственный вектор ui, соответствующий собственному числу λi, есть решения линейного уравнения

Pui=λiui . (3.29)

Преобразование (3.27) удобно тем, что при возведении степень матрицы фактически возводится в степень только диагональная матрица

Рk =(UΛ U-1)k = U Λk U-1, (3.30)

причем

Таким образом, динамику изменения матрицы Рk легко оценить по поведению λki, i = 1,...,п .

Мы уже упоминали, что матрица Р, определяющая однородную цепь Маркова, является стохастической матрицей [14]. Особенностью этой матрицы является то, что ее максимальное собственное число равно 1, и ему соответствует собственный вектор, составленный из единиц: [1,1,... l].

Пример. Продолжим рассмотрение динамики системы, изображенной на рисунке 3.2. Для упрощения расчетов объединим состояния S,,S?,S3, описывающие файловый обмен, в одно. Тогда система будет иметь три состояния: S,- работа процессора; S2 - файловый обмен; S3 - состояние поглощения, а матрица переходных вероятностей примет вид

где р = р1 + р2 + р3 - вероятность выполнения операций файлового обмена после окончания работы процессора.

Приведем матрицу Р к виду (3.27). Для этого сперва определим собственные числа матрицы Р из уравнения (3.28):

откуда характеристическое уравнение примет вид

(1-λ)(λ2-р)=0.

Н етрудно видеть, что корни этого уравнения (собственные числа матрицы Р) равны, соответственно, λ1= 1, λ2 =  p3= -p . Таким образом, матрица Λ примет вид

Определим теперь собственные векторы ui =ui1,ui2,ui3 матрицы Р для каждого собственного числа λi (i = 1,2,3) из уравнения (3.29).

Для λ1=l имеем:

откуда, положив в полученной недоопределенной системе уравнений и11=1, получим и1213=1, т.е.

что соответствует отмеченному выше свойству стохастичесих матриц.

А налогично для λ2 =  p , положив и22 = 1, получим:

Таким образом, матрица Р приведена к форме (3.27), а ее kстепень в соответствии с (3.30) имеет вид

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

Если произвести перемножение матриц и некоторые преобразования, то получим:

при нечетных k

при четных k

Нетрудно видеть, что вне зависимости от четности k

т.е. система при k > ∞ приходит в поглощающее состояние с единичной вероятностью.

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

Напомним, что вектор состояния X(tk) определяется формулой (3.5)

X(tk)=X(t0)Pk

а k-я степень канонической стохастической матрицы имеется структуру (1.10)

При большом числе шагов, как мы установили, матрица Qk->Ø, а матрицы Wk и R(k) стремятся к некоторые предельным W k -> Wnpeд, R(k) Rпред. Таким образом, в предельном случае

Матрицу Рпред можно найти описанным выше способом, выполнив спектральное разложение матрицы Р и положив k —>∞. Тогда

Xпред= X(t0)∙Pпред.

Однако существует более простой способ определения Xnptu. Он основан на том, что при большом числе шагов вектор X(tk) сходится к Хиред. Из соотношения

X(tk+1) = X(tk)-P, I

при k-*со следует, что X(tk)->X(tk+])->Xnpeд и

Xпред=XпредP (3-34)

Решая уравнение (3.34) относительно неизвестны x1 пред,x2 пред,…,xn пред, при дополнительном условии

получим вектор X пред.

Так, для предыдущего примера с матрицей (3.32) уравнение для предельных вероятностей (3.34) имеет вид:

или в координатной форме с учетом (3.35):

.

Отсюда видно, что х1 пред = х2 пред = 0, х3пред = 1, т.е.

Xпред=[0,0,1].

Этот же результат может быть получен на основе (3.33):

Xпред=X0∙Pпред .

Понятно, что при любом Х0 = x01x02x03 (учитывая, что х010203 = 1), получим то же значение вектора Хпрвд.

3.6. Цепи Маркова с непрерывным временем

До сих пор мы рассматривали марковские процессы с дискретным временем. Однако в ряде случаев (например, при моделировании надежности аппаратуры) удобно иметь дело с ситуацией, когда система имеет конечное множество состояний S={S1,...,Sn}, а переходы из одного состояния в другое возможны в любые случайные моменты времени t. В этом случае множество моментов времени, в которые рассмат­ривается система, совпадает с числовой осью, т.е. Θ = R.

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

Для непрерывной марковской цепи вероятности пребывания системы в состоянии Si в момент

n

времени t обозначим, как и в п. 3.1. x,(t), i = l,...,n. При этом ∑xi(t)=1, t  Θ .

i=1

Эти вероятности образуют вектор X(t)=[xl(t)...xn(t)]. Предположим, что система в момент времени находится в состоянии Si . Рассмотрим элементарный промежуток времени t, примыкающий к моменту времени t. Назовем плотностью вероятности перехода (или интенсивностью перехода) μij(t) предел отношения вероятности перехода pij(∆t) системы за время t из состояния Si в состояние Sj к длине промежутка t:

Из формулы следует, что при малом t вероятность переходов с точностью до бесконечно малых высших порядков

pij(∆t)≈μij(t)∙∆t. (3.36)

Написанную формулу можно рассматривать как основную гипотезу теории цепей Маркова с непрерывным временем: вероятности перехода пропорциональны t и не зависят от предыстории процесса.

По аналогии с п. 3.1. назовем марковский процесс однородным, если μij не зависят от времени, в противном случае имеет место неоднородный марковский процесс. Предположим, что марковский процесс однороден и известны плотности вероятностей перехода μij для всех пар состояний Si и Sj. Тогда, согласно (3.36), известны и величины pij(∆t). По аналогии с формулой (3.3) имеем

или в векторной форме (по аналогии с (3.4)):

где P(∆t)=|| pij(∆t)|| - матрица переходных вероятностей на интервале М.

Вычтем из обеих частей (3.37) вектор X(t). Тогда эта формула примет вид:

где I - единичная матрица размерности п .

Поскольку сумма элементов в каждой строке матрицы P(∆t) равна единице, т.е.

то матрицу I можно формально представить в виде

Подставив (3.39) в (3.38), приведем уравнение к виду

Поделив (3.40) на t и вычислив предел левой и правой частей этого выражения при t -> 0, имеем:

откуда получаем систему дифференциальных уравнений для вероятностей состояний:

где матрица Я имеет вид:

В координатной форме z-e уравнение системы (3.41) имеет вид:

Поскольку произведение \xjixi встречается в первом и во

t0poM слагаемом правой части уравнения (3.43) с разными а1сами, то его можно переписать иначе:

Система (3.39) и (3.42) рассматривается при начальном условии:

Система дифференциальных уравнений для вероятностей состояний (3.41), (3.42) или (3.44) носит имя ее автора - академика А.Н. Колмогорова.

Интегрирование этой системы по времени позволяет вычислить функции хi(t). При этом можно

n

рассматривать систему из п -1 уравнения, поскольку ∑xi(t) = 1, t  Θ.

i=1

Анализ формулы (3.44) позволяет сформулировать правила составления уравнений Колмогорова непосредственно по размеченному величинами μij ориентированному графу системы. Для i-го узла графа в левой части уравнения записывается производная от вероятности хi по времени, а в правой части - столько слагаемых, сколько дуг графа связано с рассматриваемым узлом. Каждое слагаемое равно произведению плотности вероятности перехода, соответствующей данной дуге графа, на вероятность того состояния, из которого исходит дуга графа. Если стрелка на дуге направлена к рассматриваемому узлу, то произведение берется со знаком плюс, если же стрелка направлена от рассматриваемого узла, то соответствующее произведение берется со знаком минус.

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

р = 1 соответствует плотность μ ,

р1 соответствует плотность μ1

р2 соответствует плотность μ2.

Так как р1 + р2 = 1, то μ1 + μ2 = μ.

Размерность плотности вероятностей равна 1/с, таким образом, величина μ определяет масштаб времени динамической системы.

Граф системы показан на рисунке 3.7.

В соответствии с написанными выше правилами составляем систему уравнений вида (3.44). С учетом того, что μ = μ1+ μ2, имеем

Решим данную систему дифференциальных уравнений и исследуем решение. Как уже было сказано выше, достаточно рассматривать два уравнения этой системы, например первое и второе, а x3(t) определить из соотношения х123 =1. Представим первые два уравнения в векторной форме:

Х = Х, (3.47)

X(0)=X0 ,

где в соответствии с (3.46) матрица  имеет вид

Решение системы (3.47) в матричной записи определяется формулой [14]

X(t)=X0e. (3.49)

Воспользуемся спектральным разложением матрицы  (см. п. 3.5):

= RΛR-1,

где Λ- диагональная матрица, составленная из собственных чисел матрицы ; R - матрица, составленная из собственных векторов матрицы .

Составляем характеристическое уравнение для матрицы :

det(-λI) = 0,

откуда

(μ + λ)2 = μμ1,

Следовательно, λ1 = -μ + μμ1 ,λ2 = -μ + μμ1.

Мы видим, что собственные числа матрицы  действительные и отрицательные.

Определим собственные векторы матрицы :

Следовательно, матрица R имеет вид

а обратная к ней -

Таким образом, матричная экспонента примет вид

Возвращаясь к решению уравнения (3.47), представим формулу (3.49) в виде

X(t) = X0ReΛtR-1,

а с учетом формул (3.50), (3.51), (3.52) получим после перемножения матриц выражение для вероятностей x1(t), x2(t), x3(t) в покомпонентной записи:

x3(t)=1-x1(t)-x2(t).

Х арактер изменения вероятностей во времени при мяльных условиях х01 = 1, х02 = х03 =0 и значениях плотностей вероятностей μ = 1, μ1 = μ2 =0.5 показан на рисунке 3.8.

Мы видим, что вероятности x1(t) и x2(t) с течением времени монотонно стремятся к нулю, а х3(t)- к единице. Таким образом, система стремится к предельному состоянию, которое мы определили в п. 3.5. Предельные вероятности можно определить, и не решая систему дифференциальных уравнений (3.46), а положив в ней х1 = х2 = х3 = 0 и рассмотрев полученную систему линейных алгебраических уравнений.

3.7. Моделирование надежности вычислительных систем

Рассмотрим важную область применения цепей Маркова совместно с сетями Петри - моделирование надежности систем.

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

Не выходя за рамки специальности, мы ограничимся рассмотрением надежности вычислительных систем (ВС).

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

Рассмотрим показатели надежности. которые характеризуют способность системы сохранять и восстанавливать свое исходное состояние.

Устойчивость ВС - ее способность противостоять воздействиям сбоев и отказов в работе аппаратуры и ошибок в исходных данных.

Надежность ВС - вероятность ее работы без отказа в течение определенного периода времени, рассчитанная с учетом весомости отказа для пользователя. Таким образом, надежность ВС определяется не только частотой отказа, но я последствиями, к которым приводит отказ.

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

Отказ - событие, заключающееся в нарушений работоспособности объекта.

Сбой - кратковременный самоустраняющийся отказ.

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

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

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

Модель системы. Соответствующая обыкновенная сеть Петри PN приведена на рисунке 3.7. Здесь по сравнению рисунком 2.9 добавлены следующие элементы:

P5 - ВС успешно прошла тестирование;

Р6 - ВС не прошла тестирование;

р7 - заявка на тестирование;

p8 - заявка на диагностику;

р9 - ВС находится в аварийном состоянии;

t5 - неудачное завершение тестирования;

t6 - удачное завершение тестирования;

t7 - начало диагностики ВС;

t8 - разрешение дальнейшей работы ВС (неисправность классифицируется как сбой);

t9 - аварийное завершение работы ВС.

Начальная маркировка сети имеет вид

M0=[ω,0,1,0,0,0,0,0,0].

В позиции pi мы предполагаем неограниченное число фишек, обозначаемое СО . Это означает, что число заявок на обслуживание всегда достаточно велико.

На рисунке 3.10 показано полное дерево маркировок рассматриваемой сети Петри, порождаемое маркировкой М0. После 4 шагов сеть либо возвращается к начальной маркировке М0, либо к тупиковой маркировке М6, соответствующей аварийному состоянию ВС.

Инварианты сети. Для оценки структурных свойств построенной сети рассмотрим ее инварианты в соответствии с теорией, изложенной в пункте 2.1.6. На основе схемы рисунка 3.9 составим матрицу размерностью 9Х9:

Анализ показывает, что ранг этой матицы rv равен 7, а дефект dv, соответственно, равен 2. Таким образом, в рассматриваемой сети существуют два инварианта позиций два инварианта переходов.

Нетрудно убедиться, что для следующих двух векторов

выполняются условия (2.10): Y = Ǔ-V = Ø9. Это означает, что при работе сети сохраняется сумма фишек в позициях р2 и р3 (первый инвариант позиций) и в позициях р3, р5, р6, р7, р8 и р9 (второй инвариант позиций). В этом можно убедиться, проанализировав дерево маркировок.

Аналогично для следующих векторов-столбцов

выполняются условия (2.12) Z = V= Ø9. Это означает, что при последовательном срабатывании t1,t2,t3,t4,t6 (первый инвариант переходов) и t1,t2,t5,t7,t8 (второй инвариант переходов) восстанавливается первоначальная маркировка. Это также следует из дерева маркировок.

Вероятностные характеристики сети. Рассмотрим вероятностную оценку работы построенной модели. Предположим, что вероятность успешного тестирования равна P1, соответственно, вероятность противоположного событий q1=1-p1. Таким образом, при маркировке М1 вероятность срабатывания перехода t5 и перехода к маркировке М2, равна p1, а, соответственно, срабатывания t6 и перехода к М3 равна q1.

В случае неисправности системы вероятность сбоя при диагностике обозначим р2, тогда вероятность аварийной остановки будет равна q2=1-p2. На рисунке 3.10 это выразится в том, что вероятность срабатывания перехода t8 составит р2, а срабатывания перехода t9 - q2.

Введем на дереве маркировок следующие цепочки условий и событий:

S1 - цепочка M0t2M1;

S2 - цепочка M2t7Mt;

S3 - цепочка M3t7M5;

S4 - маркировка М6.

Отождествим указанные цепочки с состояниями системы, учтем введенные вероятности и предположим, что вероятности постоянны во времени и не зависят от предыстории процесса. В результате получим цепь Маркова, показанную на рисунке 3.11.

Матрица переходных вероятностей для данной цепи Маркова имеет вид

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

N = (I-Q)-1, I

где Q - блок матрицы Р, описывающий переходы внутри невозвратного множества; N = ||пij||, где пij - среднее число тактов нахождения процесса в состоянии Sj при старте процесса из состояния Si; I- единичная матрица.

Вычислив матрицу N, получим:

В нашем случае

Рассматривая первую строку матрицы N, мы видим, что процесс в среднем будет находиться в состоянии

1 1 1

S1 n11 = —— раз, в состоянии S2 n12= —— раз, а в состоянии S3 n13= —— раз.

p1q2 q2 p1q2 1

Это означает, что среднее время безаварийной работы системы (с учетом сбоев) составляет Т1=п11=——

1 p1q2

тактов, в том числе время безотказной работы T3 = п12 = —. Число тактов, в которые наблюдаются сбои,

q2

q1

T3 = п13 = ——. Нетрудно видеть, что Т1 = Т2 + T3.

p1q2

Задачу моделирования надежности систем можно формулировать также в терминах цепей Маркова с непрерывным временем. Для этого вместо вероятностей наступления событий нужно учитывать плотности вероятностей перехода (интенсивность).

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

3.8. Структурный подход к моделированию систем на основе сетей Петри

Ниже кратко рассмотрены вопросы, связанные с исполь­зованием структурных методов при моделировании систем [27]. Более подробно студенты ознакомятся с этими методами в курсе по технологии разработки и САПР программных систем.

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

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

• Принцип иерархического упорядочения, заключающий в организации подсистем в иерархические древовидны структуры, в которых на каждом новом уровне детализируеТс структура предыдущего уровня.

В настоящее время структурный подход к моделир0 ванию и проектированию систем стал общепринятым, и все перечисленные в первой главе (п. 1.4.) системы моделирования бизнес-процессов основаны на указанных выше принципах.

Цель настоящего параграфа - показать, как структурный подход может быть реализован при создании динамических моделей систем в терминах «условие-событие» на основе формализмов раскрашенных сетей Петри. Вероятностная интерпретация и исследование таких моделей могут осуществляться на базе теории цепей Маркова.

3.8.1. Основные понятия событийных моделей и их отображение в сетях Петри

Объект - реальная или виртуальная сущность, используемая в моделируемой системе. Каждый объект имеет имя и набор атрибутов.

Атрибут - характеристика объекта. Каждый атрибут имеет имя и характеризуется набором возможных значений атрибутов. Совокупность конкретных значений всех атрибутов называется состоянием объекта.

Событие - одномоментное изменение состояния объекта, состоящее в изменении значений атрибутов. Каждое событие имеет имя и может иметь собственные атрибуты события.

Процесс - устойчивая целенаправленная совокупность событий (взаимосвязанных видов деятельности, последовательность работ), которая преобразует состояние объектов.

Предусловие - значения атрибутов объектов, обходимые для наступления события; формально предусловие это логическое выражение, зависящее от значений атрибутов, истинность которого необходима для наступления события.

Постусловие - значения атрибутов после наступления события.

Рассмотрим теперь, как перечисленные понятия обозначаются в терминах раскрашенных сетей Петри.

• Процесс моделируется составным переходом (непримитивным событием).

• Объект моделируется позицией.

• Каждый атрибут моделируется цветовым множеством, а набор возможных значений атрибутов - набором цветов.

• Состояние объекта моделируется маркировкой позиции.

• Начальная маркировка соответствует состоянию системы при начале ее работы.

• События моделируются срабатыванием переходов, которые могут произойти при выполнении предусловий.

• Предусловия моделируются выражением на дугах типа р to t.

• Постусловия моделируются маркировкой позиций после срабатывания переходов.

3.8.2. Диаграммы условий и событий

Диаграммы моделей процессов строятся на базе так называемых элементарных сетей. Такая сеть состоит из входных и выходных позиций и единственного перехода, который в общем случае является составным. Пример элементарной сети сказан на рисунке 3.12. В сети имеется составной переход t, входные позиции р12, выходная позиция р3 и позиция р4,которая является как входной, так и выходной.

Элементарная сеть моделирует наступление некоторого сложного («непримитивного») события при сложившихся предусловиях, в результате чего подсистема переходит в новое состояние, которое рассматривается как постусловия.

Формально работа элементарной сети состоит одномоментном преобразовании состояния входных выходных позиций при срабатывании перехода t, который да данном этапе детализации процесса может рассматриваться как простой переход.

Как и в других методологиях структурного анализа построение модели начинается с создания контекстной диаграммы в виде элементарной сети нулевого уровня. На этом этапе определяются:

  • все внешние объекты системы, их атрибуты и возможные значения этих атрибутов;

  • единственное событие, отражающее основную функцию системы;

  • список предусловий, необходимых для наступления события в терминах значений атрибутов внешних объектов;

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

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

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

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

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

• Событие определяется глаголом в несовершенного вида в сочетании с поясняющими словами. Например: пароль проверяется, клиент обслуживается.

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

• на каждой диаграмме должно быть от 3 до 6 элементарных сетей;

• выбирать ясные, отражающие суть дела имена объектов, атрибутов, условий и событий;

• не загромождать диаграммы несущественными на данном уровне деталями.

Полный список рекомендаций приводится в литературе по CASE технологиям [4].

Параллельно с построением иерархии диаграмм формируется описание раскрашенной сети Петри (CPN) в соответствии с формализмом, изложенным в п 2.2.2:

• определяются цветовые множества и переменные типа сo1ог, поясняется их смысл в модели;

• составляется список позиций и переходов, поясняется их смысл в модели;

• составляется список дуг А и выражений на дугах E(a) если есть необходимость, выписываются узловые функции N(a).

• определяются цветовая функция С(р) и блокировочная функция G(t);

• если в моделируемой системе предусмотрен временной механизм, то для переходов и дуг указываются временные задержки или условия срабатывания переходов в зависимости ох времени;

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

3.8.3. Пример построения модели

В качестве примера созданной модели по описанной выше методике рассмотрим фрагмент проекта системы, в которой банкомат обслуживает клиента но его кредитной карте. Этот пример подробно изложен в литературе по CASE-средствам с использованием диаграмм потоков данных DFD [4], и поэтому интересно1 сравнить полученные модели.

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

На рисунках 3.13 — 3.15 приведены диаграммы, частично реализующие модель описанной системы в нотации К.Иенсена, и краткие пояснения. Из-за недостатка места не приводится ряд «центов формального описания сети: цветовые функции, дикции на переходах, выражения на дугах, функция инициализации.

В системе используются следующие цветовые множества:

color CLIENT = int - номер клиента;

color PAROL = int - пароль клиента;

color SUMMA = int - сумма денег на счете клиента;

color ATTEMPT = int - число попыток ввода пароля;

color STATUS = int - состояние банкомата (свободен, занят);

color CLIENT x PAROL = product CLIENT*PAROL;

color CLIENT x SUMMA = product CLIENT*SUMMA

и соответствующие переменные:

var k: CLIENT; var p: PAROL; var s: SUMMA; var e: STATUS; var t: ATTEMP.

На контекстной диаграмме использованы следующие условия и соответствующие переменные:

P1- число попыток ввода пароля (t); p2 - список паролей Клиентов (k,р); р3 - клиент пришел (k); р4 - суммы на счетах Клиентов (k,s); p5 - банкомат свободен/занят (е); р6 - клиент ушел (k); процесс t1 - клиент номер к обслуживается.

На рис.3.14 ведены новые условия:

p11 - ввод пароля разрешен (k); р12 - запрос суммы денег разрешен (k,p); p13 - выдача денег разрешена (k,s); p14 - деньги и квитанция готовы (k,s); p15 - обслуживание клиента завершено (k);

Введены новые процессы:

t11 - пароль проверяется; t12 - запрос суммы денег проверяется; t13 - счет клиента корректируется; t14 - деньги и квитанция выдаются.

На диаграмме второго уровня детализации введены условия:

р111 - пароль введен (k); р112 - пароль сравнен со списком паролей (k,р); p113 - проверка пароля завершена (k,р);

процесс: t111 - число попыток ввода пароля проверяется;

события: t111 - пароль сравнивается со списком; t211, повторный ввод пароля; t311, - продолжение обслуживания; t411 , завершение обслуживания.

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

4. Задания для самостоятельной работы

Предлагаемые в данном разделе задачи и упражнен могут использоваться при проведении практических занятий * также при приеме зачетов и экзаменов. Большинство из ц!/ решается «вручную», для решения некоторых зада целесообразно использовать математические пакеты Ил программы, составленные при выполнении лабораторных рабо-Такие задачи помечены звездочкой.