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



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

Тензорный метод анализа надежности программного обеспечения систем управления и обработки информации Золотухин Вячеслав Викторович

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

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

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

Золотухин Вячеслав Викторович. Тензорный метод анализа надежности программного обеспечения систем управления и обработки информации : дис. ... канд. техн. наук : 05.13.01 Красноярск, 2006 131 с. РГБ ОД, 61:07-5/124

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

Введение

1 Введение в теорию надежности программного обеспечения 9

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

1.1.1 Классификация моделей оценки надежности 10

1.1.2 Этапы создания программного обеспечения 12

1.1.3 Аналитические методы определения надежности программного обеспечения 13

1.2 Модели оценки надежности программного обеспечения 25

1.2.1 Эмпирические модели оценки надежности программного обеспечения 26

1.2.2 Статистические модели оценки надежности программного обеспечения 32

1.2.3 Вероятностные модели оценки показателей надежности программного обеспечения 33

1.2.4 Моделирование промежутков времени между сбоями 34

1.2.5 Модели роста надежности программного обеспечения 38

1.2.6 Экспоненциальная модель роста надежности программного обеспечения (ЕХРМ) 48

1.2.7 Логарифмическая модель роста надежности программного обеспечения (LOGM) 41

1.2.8 Степенная модель роста надежности программного обеспечения (POWM) 42

1.2.9 Замедленная S-образная модель роста надежности программного обеспечения (DSSM) 43

1.2.10 Обратная полиноминальная модель роста надежности программного обеспечения (INPM) 44

1.3 Выводы 46

2 Тензорный метод анализа сетей. Основные принципы 47

2.1 Постулат первого обобщения тензорного метода анализа 47

2.2 Постулат второго обобщения тензорного метода анализа 54

2.3 Использование нового понятия «геометрический объект» 57

3 Тензорный метод анализа надежности программного обеспечения 61

3.1 Использование метода диакоптики для анализа надежности программного обеспечения 70

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

4 Тензорный метод анализа надежности на стадии тестирования 85

4.1 Основная концепция 85

4.2 Контурная сеть как основная структура анализа 86

5 Программные средства анализа надежности с использованием тензорного метода 96

6 Исследование тензорного метода анализа методом имитационного моделирования 104

6.1 Основные понятия GPSS 109

6.2 Основные блоки GPSS 114

6.3 Имитационная модель программного обеспечения 116

Заключение 120

Список источников 121

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

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

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

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

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

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

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

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

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

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

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

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

- применение метода для анализа реальных программ и программного обеспечения.

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

Научная новизна работы:

- разработан тензорный метод анализа надежности программного обеспечения на стадии анализа архитектуры программы;

- разработан тензорный метод анализа надежности программного обеспечения на стадии тестирования программы;

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

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

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

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

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

Разработанная программная система позволяет:

- рассчитать требуемое время тестирования компонент программного обеспечения для достижения требуемого уровня надежности на этапе тестирования;

- получать численные значения показателей надежности для конкретных подсистем.

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

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

На защиту выносятся:

- тензорный метод анализа надежности программного обеспечения;

- метод преобразований результатов для одной структуры программы к результатам другой структуры программы с использованием матрицы перехода;

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

- программная реализация тензорного метода анализа программы в виде отдельного программного обеспечения.

Апробация работы. Основные положения и результаты работы прошли всестороннюю апробацию на всероссийских конференциях, научных семинарах и научно-практических конференциях. В том числе:

- на всероссийской научно-практической конференции «Современные проблемы радиоэлектроники», Красноярск, 2003-2006 г.;

- на международной научно-практической конференции «Системные проблемы надежности, качества, информационных и электронных технологий», 2003-2005 г.

Диссертационная работа в целом обсуждалась на научных семинарах кафедры «Сети и системы связи» Красноярского Государственного Технического Университета (2003-2006 гг.).

Публикации. По теме диссертации опубликовано 12 печатных работ. Полный список публикаций представлен в конце автореферата.

Структура и объем работы. Диссертация состоит из введения, шести глав, заключения и списка литературы.

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

Основным понятием теории надежности является определение надежности, которое сформулировал Авиженис, как «способность системы или компонента выполнять требуемые функции при определенных условиях за определенный период времени».

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

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

Показатели надежности: Надежность R (Reliability) - вероятность безотказной работы. Данный показатель используется во многих моделях оценки надежности.

Среднее время появления сбоя (Mean Time То Failure) - MTTF -показывает время между двумя последовательными сбоями.

Интенсивность сбоев - это величина, обратная MTTF, которая равна числу отказов в единицу времени.

Среднее время простоя TR - величина времени, необходимая для обнаружения, выявления и устранения сбоя и восстановления работоспособности системы.

Коэффициент готовности системы S - определяется как отношение среднего времени появления сбоя к сумме средних времен появления сбоя и времени простоя.

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

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

Тем не менее, можно с уверенностью охарактеризовать все методы оценки с помощью следующих критериев: а) по типу используемого математического аппарата или метода. В этом случае различные методы разделяются на следующие группы: 1) модели ветвления хода выполнения. Данные методы достаточно эффективно используют внутреннюю архитектуру ПО и взаимные связи модулей между собой и определяют надежность для каждого ветвления программы. При этом модели могут получаться достаточно сложными; 2) статистические модели. Как правило, данные модели используют накопленные ранее статистические данные для определения надежности конкретного алгоритма. Яркий пример таких моделей - модели с использованием регрессии; 3) Марковские цепи. В этом случае создается матрица переходов системы из одного состояния в другое, в данном случае, отличающиеся исправностью отдельных компонент, и на основе всех этих вероятностей происходит определение вероятности конкретного состояния; 4) нейросети. Пожалуй, еще одно достаточно перспективное направление анализа надежности. В качестве исходных данных (учебника) для обучения нейросети используются либо накопленные статистические данные, как в случае статистических моделей, либо результаты других моделей; б) по этапу использования: 1) модели стадии анализа; 2) модели стадии дизайна архитектуры; 3) модели стадии кодирования; 4) модели стадии тестирования; 5) модели стадии эксплуатации и технического обслуживания.

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

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

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

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

Постулат первого обобщения тензорного метода анализа

Тензорный метод анализа рассматривает любую систему как совокупность отдельных минимальных элементов, соединенных определенным образом. Система простейшего типа состоит из одномерных элементов (резисторов, узлов связи, блоков, программных модулей), соединенных в определенных точках; причем силы (некоторые воздействия) накладываются вдоль этих элементов на узлы. Такие структуры в тензорном методе анализа принято называть сетями.

При этом следует заметить, что накладываемые воздействия мгновенно распространяются через всю сеть, то есть рассматриваемые сети имеют сосредоточенные, а не распределенные параметры, либо сеть находится в некотором установившемся режиме. Несмотря на то, что автор тензорного метода применительно к электрическим цепям использовал изложение основных принципов на языке электротехники, при этом следует заметить, что используемая методология имеет отношение не только к методам электротехники /13-14,25-56/. Например, при некотором изменении соответствующих выражений (например, «сила» вместо «напряжения») данная методология может также успешно применяться при исследовании механических, информационных и других сетей. Такой метод рассуждения заимствован, главным образом, из геометрии, а если точнее - из топологии и дифференциальной геометрии. В целом же весь математический аппарат, который используется для решения технических задач, известен под названием «тензорная алгебра» и «тензорный анализ». Как замечает автор тензорного метода анализа электрических сетей - Габриель Крон, изучение сетей предпринято таким образом, чтобы создать логический фундамент для познания более сложных технических систем, составные части которых имеют более одного измерения, при этом соединение всех частей не сохраняется, а распространение воздействий уже не является мгновенным.

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

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

Автор тензорного метода исходил из следующих предпосылок: если одна катушка характеризуется величинами е, i, R, L, Си Z, то множество катушек характеризуется гс-матрицами е, i, R, L, С и Z. Таким образом, множество катушек характеризуется тем же числом символов того же типа, что и одна катушка, но отличается тем, что отдельные числа заменяются п-матрицами различной размерности.

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

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

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

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

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

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

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

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

Кроме того, если в состав системы уравнений, описывающих первоначальную систему, входило N отдельных уравнений с N неизвестными, то при разбиении системы на п отдельных подсистем для описания связей между ними вводятся к неизвестных. Поэтому необходимо найти N+k переменных в п+1 независимых группах, а не просто решить систему из N уравнений с N переменными. Впрочем, такое усложнение дает значительное уменьшение габаритов исходных анализируемых подсистем.

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

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

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

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

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

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

Основная концепция

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

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

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

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

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

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

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

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

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

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