книги из ГПНТБ / Варжапетян, А. Г. Готовность судовых систем управления
.pdfПРИЛОЖЕНИЕ IX
|
п — исходное число дуг; |
|
|
|
|
|
|
|
1) •— ориентировочное число путей |
(взятое |
с запасом); |
|
|||
аі, а2 |
[1 : я] — массивы для записи входных и выходных дуг графа; |
|
|||||
сі |
[1 : т ] — массивы для |
записи |
путей |
графа; |
|
|
|
|
сЗ — массив для записи параметров законов распределения |
времени |
|||||
|
работы; |
|
|
|
|
|
|
с4 |
[1 ; я ] — массив для |
записи |
номеров |
законов |
распределения |
времени |
|
|
работы; |
|
|
|
|
|
|
с5 [я + |
1 : 2я] — массив для |
записи |
номеров |
законов |
распределения |
времени |
|
|
восстановления; |
|
|
|
|
|
|
|
<1—-постоянная, |
которая |
в начале |
каждой реализации равна 1, |
|||
|
а внутри реализаций равна |
0 . |
|
|
|
||
В программе, в которой используется процедура |
в, необходимо, кроме того, |
||||||
описать: гі, г2, г З —-переменные типа real, характеризующие содержимое |
счетчи |
||||||
ков; t [1 : я] — массив, содержащий случайные времена работы. |
|
||||||
До использования в программе процедуры |
в необходимо обратиться к про |
||||||
цедуре |
После этого в массиве cl |
[1 : яі] оказываются записанными все пути графа. |
ОПИСАНИЕ ПРОЦЕДУРЫ
В начале процедуры осуществляем присваивание величинам начальных значе ний. Затем в случае начала новой реализации (при d = 1) полагаем содержимое счетчиков равным нулю и после первого обращения к процедуре-функции 3>х полу чаем случайные интервалы времени t [і] для всех дуг графа. После этого, подгото вив соответствующие величины, переходим к поиску min ( t [t ]). К этому же мы при ходим от начала процедуры в случае продолжения старой реализации (при d =4= 1).
Устройство, описываемое дугой, которой соответствует t min, на у'-м шаге изменило свое состояние. Если оно до этого работало, то для него ищем время восстановления, если же восстанавливалось, то ищем время работы, причем для удобства программи рования время восстановления записываем со знаком минус. Остальные устройства своего состояния не изменили, и соответствующие им интервалы времени на ('/ -)-1)-м
шаге будут:
t \ [і] : = (abs (t [i]) — t min) |
X sign (t [i]). |
Среди i = 1 ........it фиксируем номера тех дуг, |
которые соответствуют устрой |
ствам, находящимся в процессе восстановления. После этого все пути графа прове ряем, выясняя, входит ли в них каждая из дуг, соответствующих восстанавливаю щимся устройствам, или нет. Если есть хоть один путь, где устройства работают, то система считается работоспособной и t min прибавляется к <р (в противном слу чае система считается отказавшей и /в : = /в -|- / min). После этого проверяем, изменила ли система свое состояние по сравнению с предыдущим шагом. Если нет, то переходим к поиску очередного t min; если да, то обращаемся к началу процедуры соответственно со значением либо ф , либо fe. При последующих обращениях к про цедуре процесс повторяется.