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

Для удобства анализа показателей надежности сложных ПК целесообразно представить их в виде совокупности менее сложных составляющих, обычно называемых программными модулями (ПМ). Программный модуль, в свою очередь, может быть разделен на более мелкие части и т.д. Таким образом, ПМ является аналогом элемента расчета теории надежности. Обычно он представляет собой логически самостоятельную программу и вводится, исходя из соображений исследователя [3].

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

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

Постановка задачи. Дан ПК, состоящий из М отдельных модулей, соединенных между собой. По структуре ПК строится стохастический граф, содержащий М+2 вершин. Вершина 0 означает исток, а вершина М+1 -сток графа. Каждый ПМ вызывается на решение с заданной вероятностью, исходя из цели функционирования или значений исходных данных.

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

Прямая задача. Для определения вероятности безошибочного решения задачи ПК воспользуемся методом расчета вероятностно-временных характеристик пребывания заявки в сети массового обслуживания (МО) [4]. Однако непосредственно в том виде, как описано в указанной статье, метод не приемлем, так как в сети МО времена пребывания заявок в модулях суммируются. В нашей же задаче должен выполняться принцип слабого звена, свойственный основному соединению элементов в теории надежности. Поэтому неправильно применять преобразования Лапласа плотностей распределений времени до ошибок в модулях. Необходимо вместо них поставить вероятности правильной работы соответствующих модулей, производящих вычисления на заданных временных интервалах. При этом мы предполагаем, что модули статистически независимы.

Рассмотрим матрицу


элементами которой являются произведения


где
Pij-вероятность перехода от i -го ПМ к j -му, а Pi(ti) -вероятность безошибочного функционирования i-го ПМ в течение времени ti.

Так как 0-ая и М+1-ая вершины фиктивные, то предполагаем, что время нахождения в них равно нулю, а вероятности безошибочной работы - единице.

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

Построим матрицу

     (1)

где L - единичная матрица.

Элемент матрицы T с номером (0,M+1) представляет собой выражение для вероятности безошибочной работы всего ПК с учетом всех возможных последовательностей вызовов отдельных ПМ.

В соответствии с правилами вычисления значений элементов обратной матрицы [5], выражение для вероятности безошибочной работы ПК можно представить в виде

     (2)

где Q(t)- алгебраическое дополнение элемента с номером (М+1,0) матрицы (LG(t)); R(t) главный определитель матрицы (LG(t)).

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

Обратная задача. Определим минимальное время отладки ПК при заданной вероятности его безошибочного функционирования P зад. Процесс отладки i -го ПМ обычно определяется временем его отладки В известных аналитических и эмпирических моделях оценивания надежности ПМ [2] параметр как и параметр ti - заданное время работы i -го модуля, входят в соответствующее выражение для показателя надежности ПМ. При этом предполагается, что оценки искомых показателей являются детерминированными известными выражениями, определяемыми по результатам испытаний. Подобных моделей множество, рассмотреть их все здесь невозможно. В качестве примера, не нарушая общности подхода, приведем лишь одну из самых ранних моделей - модель Мусы.

Вероятность безошибочной работы i -го ПМ, согласно данной модели, можно выразить следующей формулой:

     (3)

где - интенсивность проявления ошибки; - интенсивность отладки; и - время вычислений и отладки модуля.

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

Найдем минимальное время отладки ПК


при котором


предполагая, что для ПМ справедливо (3). Решение получим на основе метода неопределенных множителей Лагранжа [6]. Запишем функцию Лагранжа

     (4)

где - множитель Лагранжа.

Тогда, дифференцируя (4) по аргументам и g и приравнивая полученные выражения к нулю, получим систему уравнений:

     (5)

Решив (5) относительно получим

Определим максимальное значение вероятности безошибочного функционирования ПК при заданном времени его отладки. Будем искать максимум функции  P(t,t) при заданном времени отладки . Функция Лагранжа в данном случае имеет вид:

     (6)

Дифференцируя (6) по и и приравнивая к нулю, получим систему уравнений:

     (7)

Решая (7), находим искомые значения а подставляя их в выражение для P(t,t), найдем максимальное значение вероятности безошибочного функционирования ПК.

 

Hosted by uCoz