Главная Другое
Экономика Финансы Маркетинг Астрономия География Туризм Биология История Информатика Культура Математика Физика Философия Химия Банк Право Военное дело Бухгалтерия Журналистика Спорт Психология Литература Музыка Медицина |
страница 1 Изучение аналитических моделей надежности программного обеспечения
Получить навыки практического использования численной оценки надежности программного обеспечения (ПО) ЭВМ и сложных программных комплексов. 7.2 Основные теоретические положенияХарактеристики надежности При анализе надежности выполнения ЭВМ заданных функций компьютер следует рассматривать как единый комплекс программных и аппаратных средств и учитывать, что его надежность зависит также от надежности программ. Надежность программного обеспечения – это свойство сохранять заданные характеристики при определенных условиях эксплуатации. Надежность ПО определяется его безотказностью и восстанавливаемостью. Безотказность ПО – его свойство сохранять работоспособность в процессе обработки информации, которую можно определить вероятностью работы без отказов при определенных условиях внешней среды в течение заданного периода наблюдения. Отказ программы – это недопустимое отклонение характеристик процесса функционирования программы от требуемых. Определенные условия внешней среды – это совокупность входных данных и состояния вычислительной системы. Заданный период наблюдения обычно соответствует необходимому числу прогонов программы для решения задачи. Безотказность ПО можно охарактеризовать также средним временем между двумя отказами в процессе выполнения программы Т (при условии, что сбой аппаратных средств отсутствует). С точки зрения надежности принципиальное отличие программных средств от аппаратных состоит в том, что программы не изнашиваются и не подвержены физическому старению в процессе работы. Поэтому характеристики надежности ПО зависят от тщательности разработки и отладки, а также от условий хранения носителей программ. Безотказность ПО определяется его корректностью, а значит целиком зависит от наличия в нем ошибок, внесенных на этапе создания и хранения, в то время как безотказность аппаратных средств зависит в основном от случайных отказов, связанных с физическими изменениями параметров элементов. Вид обрабатываемых данных не влияет на аппаратуру, но может привести к отказам ПО.
Причины отказов ПО:
Последствия и признаки появления ошибок в программе. В зависимости от степени серьезности последствий ошибок в программе, отклонения выполнения программой заданных функций можно разделить следующим образом: полное прекращение выполнения функций на длительное или неопределенное время или кратковременное прекращение хода вычислительного процесса. Симптомы проявления ошибки в программе:
Для устранения ошибок программы необходимо предусмотреть специальные средства диагностики типа кодов завершения, вводить в ПО контрольные точки, обеспечить возможность рестарта с контрольных точек. Аналитические модели надежности программ Аналитические модели дают возможность исследовать закономерности появления ошибок ПО, а также прогнозировать надежность эксплуатации ПО. Модели строятся в предположении, что появление ошибок является случайным событием и имеет вероятностный характер. Функцию надежности Из этих характеристик можно вывести величину интенсивности отказов ![]() Для ПО характерно ступенчатое изменение ![]() ![]() i(t) – число отказов, устраняемое в момент времени t; ![]() Эти параметры можно найти на основании последовательности наблюдений интервалов между обнаружением ошибок по методу максимального правдоподобия. Если i(t) постоянна - получаем простую линейную модель. Рассматриваемая модель является грубой. На практике условия, в которых она работает, не соблюдаются. Например, некоторые ошибки являются неустранимыми. Модель надежности программ с дискретным увеличением времени наработки на отказ строится на гипотезе, что устранение ошибки приводит к увеличению времени наработки на отказ на некоторую случайную величину. ![]() ![]() ![]() ![]() Для того, чтобы посчитать, какое время тестирования необходимо для обеспечения некоторой наработки на отказ, нужно сначала определить математическое ожидание времени между двумя отказами по существующим данным. Далее надо последовательно высчитывать по формуле время наработки на отказ до тех пор, пока оно не достигнет нужного значения. Просчитанные данные лучше заносить в таблицу. После достижения нужного значения все времена нужно сложить, получив в результате искомое время тестирования. Экспоненциальная модель надежности ПО основана на предположении об экспоненциальном характере изменения числа ошибок во времени. В этой модели прогнозируется надежность программы на основе данных, полученных во время тестирования. В модели вводится суммарное время функционирования ![]() ![]() ![]() m = M(1- exp(-Kτ)), (7.1) где К – коэффициент пропорциональности; М – число ошибок, имевшееся перед фазой тестирования. ![]() Рисунок 7.1 Экспоненциальная модель надежности ПО Пусть среднее время наработки на отказ
Если ввести величину ![]() ![]() где . Для того, чтобы определить, какое время тестирования необходимо для обеспечения указанного времени наработки, то необходимо рассчитать параметры закона распределения К и M. Зная эти параметры можно рассчитать прогнозируемое количество в любой момент времени. Следовательно, чтобы определить, какое время тестирования необходимо для определения необходимого времени наработки, нужно итеративно высчитывать промежутки времени между ошибками по формуле (7.2) до тех пор, пока необходимое время наработки не будет достигнуто. Другим способом решения этой задачи является аппроксимация функции вида (7.1) по заданным точкам. Для определения надежности больших программных комплексов используются марковские модели. В марковском процессе выбор следующего модуля зависит только от модуля, выполняемого в данный момент и не зависит от предыстории. Структуру управления программой по марковской модели можно представить в виде направленного графа (рис.7.2). Каждое состояние программы может быть оценено вероятностью безотказной работы ![]() Вероятность отказа равна ![]() Для каждого целого k>0 Рk(i, j) будет определять вероятность перехода из состояния i в состояние j за k шагов. Тогда матрица ![]() Будет определять вероятность перехода и одного состояния в другое за произвольное число шагов. Вычеркнув из матрицы P две последние строки и два последних столбца, соответствующие успеху С и отказу F, получаем матрицу Q.
S = W-1 = (I – Q)-1, откуда надежность программного комплекса: R = S (1,n ) Rn.
Персональный компьютер AT386 и выше; компилятор языка C, пакет программ MatLab.
1) Ознакомиться с теоретическими положениями и ответить на контрольные вопросы. 2) Определить, какое время тестирования требуется для достижения указанного времени наработки на отказ. В таблице указано время обнаружения первой и второй ошибки. Задачу решить путем составления программы численного решения уравнений (7.1) или (7.2) на языке высокого уровня. Решение выполнять с экспоненциальной моделью и моделью с дискретным увеличением наработок на отказ.
3) Определить надежность комплекса программ, который отображается графом, показанным на рис.7.3 (по вариантам). При вычислении определителей матрицы можно воспользоваться программами пакета MatLab. а) б) ![]() ![]() Рисунок 7.3 Варианты заданий по п.2в) г) Рисунок 7.3(продолжение) Варианты заданий по п.2
Отчет должен содержать цель работы, схему алгоритма и листинг разработанной программы экспоненциальной модели надежности, результаты работы программы, а также расчет надежности программного комплекса с помощью Марковской модели.
Смотрите также: Лабораторная работа №7 Изучение аналитических моделей надежности программного обеспечения Цель и задачи работы
78.58kb.
1 стр.
Лабораторная работа №7 по дисциплине «эксплуатацияэвми систем» Изучение аналитических моделей надежности программного обеспечения
42.81kb.
1 стр.
В точностную теорию надежности программного обеспечения
133.83kb.
1 стр.
Лабораторная работа №1. Общие вопросы обеспечения лазерной безопасности
929.6kb.
7 стр.
Лабораторная работа по химии, физике, биологии, т е. по естественно-научным предметам. На уроках русского языка и литературы термин «лабораторная работа»
261.84kb.
1 стр.
Лабораторная работа №13 Изучение законов фотоэффекта. Цель работы : экспериментальное изучение законов фотоэффекта
113.62kb.
1 стр.
Лабораторная работа №4 спектры и светимость звезд
213.94kb.
1 стр.
Лабораторная работа №3-13. Тема работы: Изучение молекулярного спектра йода
70.67kb.
1 стр.
Лабораторная работа №7 изучение прокаливаемости конструкционной стали
62.38kb.
1 стр.
Лабораторная работа №6 Межпроцессное взаимодействие
279.25kb.
1 стр.
Лабораторная работа №4 «решение дифференциальных уравнений в частных производных»
56.72kb.
1 стр.
«Понятие программы, программного обеспечения. История и перспективы развития по. Классификация и общая характеристика по» 125.91kb.
1 стр.
|