Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Лисс Владимир Александрович

Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени
<
Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Лисс Владимир Александрович. Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени : диссертация ... кандидата технических наук : 05.13.11.- Санкт-Петербург, 2006.- 120 с.: ил. РГБ ОД, 61 07-5/357

Содержание к диссертации

Введение

Глава 1. Анализ проблемы прогнозирования надежности информационных систем , 9

1.1 Основные показатели надежности программного обеспечения 9

1.2 Модель Джелинского-Моранды 12

1.3 Простая экспоненциальная модель 15

1.4 Модель Шика-Уолвертона 16

1.5 Модели Липова 17

1.6 Геометрические модели 18

1.7 Модель Шнейдевинда 20

1.8 Модели, основанные на методе «посева» ошибок 21

1.9 Выводы 22

Глава 2. Математические модели потока отказов программного обеспечения систем реального времени 24

2.1 Математическая модель потока отказов программного обеспечения... 24

2.2 Математическая модель распределения среднего времени наработки на отказ для множественных источников программных отказов 27

2.3 Выводы 35

Глава 3. Математические модели надежности программного обеспечения систем реального времени 36

3.1 Математическая модель процесса отладки программного обеспечения для одиночного источника отказов 36

3.2 Математическая модель процесса отладки для множественных источников программных отказов 41

3.3 Прогнозирование надежности программного обеспечения в процессе тестирования и отладки 50

3.4 Методика прогнозирования продолжительности тестирования и отладки ПО 54

3.5 Выводы 55

Глава 4. Прогнозирование надежности программного обеспечения информационных систем различного типа 57

4.1 Структурная организация информационных систем 57

4.2 Принципы прогнозирования надежности мультикомпьютерных систем.. 60

4.3 Надежность мультикомпьютерных систем конвейерного типа 66

4.4 Надежность мультикомпьютерных систем с резервированием 67

4.5 Выводы 71

Глава 5. Инструментальный программный комплекс контроля и прогнозирования надежности 72

5.1 Укрупненная структурная схема инструментального комплекса 72

5.2 Описание технических решений инструментального комплекса 73

5.3 Иллюстрация применения инструментального комплекса 80

5.4 Выводы 85

Заключение и выводы ..., 86

Список литературы

Введение к работе

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

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

Многочисленные научные публикации и накопленный опыт разработки программных систем в России и за рубежом свидетельствуют о том, что в начальных фазах жизненного цикла системы надежность программного обеспечения является крайне низкой, что вызывает многочисленные инциденты (отказы, остановы, зависания вычислительного процесса) при функционировании системы [66,67,74].

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

Считается, что в начальных фазах жизненного цикла системы в программах содержится в среднем 1 -3 ошибки на 1000 строк текста, приводящих к многочисленным инцидентам вычислительного процесса [65,68]. В связи с этим время непрерывной работы системы в начальных фазах жизненного цикла составляет от нескольких минут до нескольких десятков минут. По мере устранения ошибок ПО частота проявления инцидентов уменьшается, и надежность функционирования системы возрастает. Однако достаточно уверенно прогнозировать уровень надежности функционирования системы весьма трудно. Проблема заключается в том, что в настоящее время отсутствуют научно обоснованные методы и модели прогнозирования надежности ПО, пригодные для практического применения.

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

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

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

Для достижения поставленной цели решены следующие задачи:

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

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

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

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

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

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

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

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

Результаты диссертационной работы использованы при разработке гидроакустических систем МГК-520,6, МГК-400ЭМ-03.

Объектом исследования данной работы являются информационные системы реального масштаба времени.

Предметом исследования являются процессы тестирования и отладки программного обеспечения и методы прогнозирования его надежности.

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

Научной новизной обладают следующие результаты исследования:

Геометрическая модель, описывающая распределение средних значений периодов проявления ошибок ПО;

Статистическая модель потока отказов ПО, вызванных множественными источниками ошибок;

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

Подход к расчету надежностных характеристик распределенной информационной системы реального времени с учетом возможности декомпозиции системы на независимые подсистемы;

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

6. Структура системы сбора и обработки данных о надежности в процессе отладки программного обеспечения.

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

Результаты диссертационного исследования внедрены в процессы проектирования гидроакустических систем в ОАО «Концерн «Океанприбор» при создании ГАК МГК-520.6 и ГАК МГК-400ЭМ-03.

Основные положения, результаты исследований и выводы, содержащиеся в диссертационной работе, обсуждались в широком кругу специалистов, ученых и разработчиков распределенных систем в ОАО «Концерн «Океанприбор», в ОАО «НИЦ ЭТУ», на кафедре МО ЭВМ СПбГЭТУ «ЛЭТИ», а также на научно-технических конференциях: VIII Международная конференция по мягким вычислениям и измерениям SCM-2005, г. Санкт -Петербург.

IX Международная конференция по мягким вычислениям и измерениям SCM-2006, г. Санкт -Петербург.

Конференция «Технологии Microsoft в теории и практике программирования, г. Санкт -Петербург, 2006 г.

7-ая Всероссийская научно-техническая конференция «Теоретические и прикладные вопросы современных информационных технологий» ТиПВСИТ '2006, г. Улан-Удэ.

Основные результаты диссертационной работы отражены в 4 печатных научных трудах [69 - 72].

Простая экспоненциальная модель

Основное отличие этой модели [21], от модели Джелинского-Моранды рассмотренной в предыдущем разделе, состоит в том, что эта модель не использует предположение 6 и, таким образом, допускает, что функция риска может меняться между моментами обнаружения ошибок, то есть она не является константой на этих интервалах.

Пусть N(t) - число ошибок, обнаруженных к моменту времени г, и пусть функция риска пропорциональна количеству ошибок, оставшихся в программе после момента /. R(f)=K{B-Nif)). Продифференцируем обе части этого уравнения по времени: ая(/)= K8N{t) 8t dt Учитывая, что dN(l)/dt - это R(t) (количество ошибок, обнаруживаемых в единицу времени), получаем дифференциальное уравнение для R(t) +н(,)=о (13)

Если рассмотреть начальные значения N(0)=0, R(0)=KB, то решением уравнения (13) будет R(t) = KBc Kl. (14) Обозначим: a = ln (KB), b = -K Решением уравнения (14) будет: H 1 / Л „1 11, ,-1 / in / 1 1

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

Модель Шика-Уопвертона

Эта модель [31,32] основана на предположении, что функция риска пропорциональна не только количеству ошибок в программе, но и продолжительности процесса тестирования. Кроме того, предполагается, что чем дольше ПО тестируется, тем больше появляется шансов на обнаружение последующих ошибок, поскольку в процессе отладки некоторые участки программы "подчищаются", что облегчает ее дальнейшее тестирование. Модель основана на следующих предположениях: 1. Все ошибки в программе равновероятны и независимы друг от друга; 2. Все ошибки считаются одинаково серьезными; 3. Исправление ошибок происходит без внесения в программу новых ошибок. Функция риска для данной модели: R{t) = K[B-{i-\)]X,. В этой формуле Xi- время между моментом trl обнаружения (і-І)-й ошибки до текущего момента /. Вероятность безотказного функционирования программы на интервале Xi равна: Р(Х,) = е L Ч что дает плотность вероятности отказа -4Ч -1)]— q{X,) = K[B-(i-\)]X,e Эта модель также не вносит нового качества в прогнозировании надежности в силу сохранения недостатков предыдущих моделей. 1.5Модели Липова

Эти модели [8, 9,10] являются обобщением моделей Джелинского-Моранды и Шика-Уолвертона. В отличие от этих моделей, модели Липова допускают более одной ошибки в интервале тестирования и, кроме того, допускают, что не все из ошибок, обнаруженных в этом интервале, могут быть исправлены. Первая модель Липова (обобщение модели Джелинского-Моранды) основана на следующих предположениях: 1. Все ошибки равновероятны и независимы друг от друга; 2. Все ошибки считаются одинаково серьезными; 3. Интенсивность обнаружения ошибок постоянна на всем интервале тестирования; 4. На /-том интервале тестирования обнаруживается /, ошибок, но только п, из них исправляется. Последнее предположение значительно отличает данную модель от всех моделей, рассмотренных ранее. Таким образом, функция риска определяется следующим выражением: i-i где F,.[ = «, - общее количество ошибок, исправленных к моменту времени rM, а t, - это время окончания і-го интервала тестирования (измеренное обычным способом или таймером процессора). Еще одно отличие данной модели от модели Джелинского-Моранды в том, что интервалы t, фиксированные, а не произвольные.

Вторая модель Липова (обобщение модели Шика-Уолвертона) основана на следующих предположениях. Интенсивность обнаружения ошибок пропорциональна текущему количеству ошибок в ПО и общему времени, затраченному на его тестирование, включая также "среднее" время поиска ошибки, обнаруженной на интервале тестирования. С учетом этих предположений, функция риска задается следующим выражением: и К Ф-Р ЦХ, , ,-, , (15) где FlA - общее количество ошибок, исправленных к моменту времени /,_,. Формула (15) отличается от первой модели Липова вторым множителем Л-1 х \ J]Xs + — - , отражающим изменение интервала тестирования. U 2)

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

Математическая модель распределения среднего времени наработки на отказ для множественных источников программных отказов

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

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

1, Ошибки ПО проявляются в случайные моменты времени, распределение интервалов между которыми подчиняется экспоненциальному закону с параметром 1/7), где 7] - среднее время между проявлением /-и ошибки; i=l,2 N, N- число ошибок в ПО, N»\.

2. Периоды ошибок Т, возрастают таким образом, что среднее время наработки на отказ остается конечным при N - со.

В связи с этим возникает задача предложить такую модель, чтобы выполнялись эти предположения. В качестве математической модели, характеризующей связь средних периодов проявления ошибок в ПО, в настоящей работе принята геометрическая модель, для которой средние периоды проявления ошибок описываются следующим соотношением: 7 7;a\/ = i,2 N (19) где Т, - средний период проявления /-той ошибки; 7J- неизвестный средний период проявления самой частой ошибки; а- параметр геометрической модели, значение которого неизвестно; N - общее количество ошибок, оставшихся в системе к началу комплексной отладки системы (также неизвестное).

Параметр модели а определяется исходя из фактического начального времени безотказной работы системы (времени наработки на отказ). Исходя из соотношения для среднего начального времени наработки на отказ =і/і/т;, получим: т- = Т (20) Применяя к (20) формулу для суммы членов геометрической прогрессии, приходим к искомому соотношению, определяющему начальное время наработки на отказ: THa4=T,aN(l-a)/(l-cP). (21)

В соотношении (21) участвует число ошибок в системе N, оставшихся к началу тестирования и отладки ПО. Например, для ЭВМ с объемом ПО 100К слов, N = 200 (исходя из 2-х ошибок на 1К слов текста программы), а с объемом 200К слов N=400 На рис. 3 представлен фрагмент геометрической модели распределения средних периодов проявления ошибок Т, (в часах). —НІНІ I II I I I 10 20 30 -В 00 Период проявления ошибки (я ЧЖШ) ТО Рис. 3. Геометрическая модель распределения периодов проявления ошибок Процесс тестирования и отладки ПО заключается в последовательном обнаружении, локализации и устранении ошибок. При этом среднее время наработки на отказ возрастает таким образом, что после устранения / первых ошибок имеет место соотношение: иі) = Тхі а-. (22) і=/+і Преобразуя (22), получим: ,/ = 0,1,2,.., -/ ип= _У(1-а) Ipv ; (1-а -1) (23) Представим формулу (23) в ином виде: a -.« N a-l _Ty(a-l) Положим N - со, тогда Т 1) = ТДа-Х)а1. (24) При / = 0, т.е. в начале отладки, когда не устранено еще ни одной ошибки, начальное среднее время наработки на отказ равно: Тср{Ъ) = Ца-\). (25) Формула (24) может быть тогда представлена в виде: Гф(/) = 7;(0)а ,/ = 1,2 N.

Если считать, что начальное среднее время наработки на отказ известно, то остается один неизвестный параметр а, который необходимо определить. Предположим, что в результате m прогонов системы (после устранения /,,/2,../я ошибок соответственно) получены приближенные значения времени наработки на отказ: г,=ЗД) 3=г;(/2), ,тш=т;р(іт). Заметим, что /, /3 .. lm и /4 = /t_, + Д , где Д4 -число ошибок, устраненных в период между (к -1 )-м и к-и прогонами, таким образом, 1к - это общее число ошибок, устраненных в системе к началу к -го прогона.

Будем считать, что ошибки измерения времени наработки на отказ определяются длительностью прогона и подчиняются нормальному закону распределения N(0,0 ), где а]- дисперсии соответствующих оценок.

В общем случае значения дисперсии для разных прогонов различны и неизвестны. Однако для простоты изложения примем, что a2t,k = l,2,...,m -известны.

Найдем оценки максимального правдоподобия для параметра модели а и периода наиболее частой ошибки 7].

Математическая модель процесса отладки для множественных источников программных отказов

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

Рассмотрим два возможных подхода.

I. Вычислив весь набор вероятностей устранения Plfi=\,2,\,..,L для всех ошибок, соответствующих требуемой величине времени наработки на отказ, можно определить необходимую продолжительность отладки так, чтобы интегральное значение риска не превысило заданное значение 1 - Р0:

Вычисления по формуле (28) проводятся для различных значений отношения //Г0, и в качестве искомой величины /=/„„„ принимаемся значение, удовлетворяющее соотношению (28).

Некоторые расчетные соотношения, связывающие продолжительность оіладки ПО, квалификацию программистов и уровень риска приведены на рис. 1-4 -рис. 1-6 приложения №1.

П. Несмотря на внешнюю простоту первого подхода, приводящего к некоторому способу определения величины/(Ж,, остается не вполне ясным вопрос о связи риска, характеризующего надежность системы, с другими показателями надежности, в частности, средним временем наработки на отказ и вероятностью безотказной работы системы в течение заданного времени. Поэтому более привлекательным представляется альтернативный подход, заключающийся в учете всех вероятностей устранения ошибок при заданной продолжительности отладки и расчете на их основе среднего времени наработки на отказ.

Пусть задана продолжительность отладки системы /=/„„„. Предполагается также, что вычислен весь набор средних периодов проявления ошибок {TJ, распределенных по геометрическому закону.

Вероятность Pt(t) устранения ошибки с периодом Tt определяется как максимум по параметру т выражения, определяемого формулой (27). Тогда среднее время наработки на отказ с учетом всех имеющихся ошибок может быть вычислено таким образом: W): (29) і.] В формуле (29) вклад ошибок, не устраненных с вероятностями \-Р{, учитывается с весами, определяемыми указанными вероятностями.

Модель надежности, определяемую соотношением (29), назовем рандомизированной моделью, т.е. учитывающей вероятностный характер процесса устранения ошибок. Частные случаи формулы (29) определяются вероятностями Р1 =0, i=I,2t...,N (не устранено ни одной ошибки) и P=l, i=l,2,...,N (устранены все ошибки). В первом случае Т =-$ начальное время наработки на отказ. Во втором случае Т1Р = со - в системе нет ошибок.

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

Соответствующие зависимости среднего времени наработки на отказ от числа устраненных ошибок представлены на рис. 10

Для детерминированной модели в первую очередь устраняются наиболее часто проявляющиеся ошибки, а для рандомизированной - ошибки устраняются в соответствии с вероятностями PIt рассчитанными по формуле (27), и не устраняются с вероятностями 1 - Pl.

В работе также получены теоретические и экспериментальные зависимости среднего времени наработки на отказ от продолжительности отладки ПО, среднего времени наработки на отказ и времени отладки системы от числа устраненных ошибок для разных значений уровня квалификации программистов. Полученные зависимости приведены на рис. 1-9-рис. 1-18 приложения №1.

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

На рис. II представлена именно такая ситуация «аномальной» ошибки. Ошибка со средним периодом 12.8 часа была устранена через 1900 часов отладки системы, т.е. для ее устранения потребовалось около 150 проявлений вместо 5, заложенных в модели. После ее устранения время наработки на отказ скачком возросло с 8 до 28 часов.

На рис. 12 представлена аналогичная ситуация с двумя аномальными ошибками с периодами 13.3 и 21.2 час соответственно. Для устранения первой аномальной ошибки потребовалось 689 часов вместо ожидаемых 70 часов, а для второй ошибки - 1750 часов вместо 106.

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

Будем рассматривать три типа мультикомпьютерных информационных систем: интегрированные, распределенные и комбинированные.

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

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

Распределенной будем называть мультикомпьютерную систему, которая состоит из нескольких независимых компьютеров, решающих независимые группы задач. Распределенная система с объемом программного обеспечения решающая задачу S =\JS, и состоящая из п компьютеров, решающих независимые частные задачи S, = {/,,fl,}, где 1,,0,- множества входов и выходов для задачи S,, может рассматриваться как п независимых систем с объемами программного П обеспечения в каждой системе F() i=J, 2,..., и, У,=У

Независимость задач можно трактовать как отсутствие информационных и управляющих связей между задачами: S,nSj =0,или 1,Г\0} = 0, /,7 = 1,2,...,«.

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

На рис.27 представлены зависимости среднего времени наработки на отказ, полученные для трех систем с объемом программного обеспечения V = 25К, 50К и 100К, или остаточного числа ошибок N=50, 100 и 200 соответственно. Это соответствует разбиению системы с объемом ПО 200К на две подсистемы с объемом 100К в каждой или на 4 подсистемы с объемом ПО 5QK в каждой. 240 " №"ЯІ

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

Моделировалось разбиение интегрированной системы, реализованной на одной ЭВМ, на две ЭВМ, решающих независимые задачи. Объем ПО в интегрированной системе составлял 100А" слов, а при разделении задач на две ЭВМ - по 50А" слов в каждой. Соответственно, число ошибок в централизованной системе равно 200, а при разделении на две ЭВМ - по 100 ошибок в каждой ЭВМ. Ошибки распределены по ЭВМ случайным образом с равной вероятностью.

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

Комбинированной системой назовем такую мультикомпьютерную информационную систему, которая состоит из нескольких компьютеров, причем часть компьютеров логически не связана межу собой и каждый компьютер решает свою группу задач Sn / = 1,2,...,т, 5(п5,#0, а другая часть (другие части) компьютеров решает некоторую совокупность связанных задач S = \js, j=m+\ S,C\S 0, і,j = m + \,...,n и компьютеры связаны между собой логически и электрически.

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

Логическая схема системы комбинированного вида На рис.29 представлены 5 вычислительных модулей (компьютеров) Ml М5, в совокупности обеспечивающих решение некоторой функциональной задачи или і группы задач S = [JS,. Модули МЗ и М4 включены в состав системы параллельно, остальные модули - последовательно. Решение функциональной задачи S распределено по всем модулям. Решение успешно, если в течение всего цикла решения задачи одновременно функционируют модули Ml, М2, М5 и один из модулей МЗ, М4. На языке математической логики это может быть записано так: М\ЛМ2Л(МЗУМ4)АМ5.

Вероятность Р безотказного функционирования задачи, решаемой в системе, запишется таким образом: Р = Р(М\)Р{М2)(\- (1 - /ЧШЖ! - Р(М4)))Р(М5). (32)

Такое описание системы позволяет сосредоточиться на получении характеристик надежности функционирования отдельных модулей Ml - М5 в соответствии с методами, рассмотренными в главах 2,3.

Для вычисления вероятностей безотказного функционирования модулей Ml - М5 используется формула в которой в качестве параметра X используются величины, обратные средней наработке на отказ каждого модуля Я = 1/Т,

Таким образом, для расчета надежности функционирования распределенной системы, представленной на рис.29, необходимо задать вектор (Tt,T2 Т%), компонентами которого являются значения средней наработки на отказ каждого модуля. Еще одним параметром является время решения функциональной задачи.

В общем случае этот параметр (?,,/, (s) является векторным, его компонентами являются времена безотказной работы каждого модуля системы, необходимые для решения задачи.

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

Похожие диссертации на Разработка математических и имитационных моделей надежности программного обеспечения систем реального времени