К проблеме оценки надежности сложных программных систем

Journal of Siberian Federal University. Engineering & Technologies 1 (2015 8) 33-47

УДК 681.3.06

Toward the Problem of Estimation

of the Complex Software System Reliability

Roman Yu. Tsarev*, Elena N. Shtarik and Andrey V. Shtarik

Siberian Federal University 79 Svobodny, Krasnoyarsk, 660041, Russia

Received 17.09.2014, received in revised form 21.01.2015, accepted 04.02.2015

Article is devoted to the problem of software reliability estimation. The developed algorithm allows applying universal model for estimation the reliability parameters of software systems with different architectures. The modification of the model for estimation of the reliability of distributed multiversion software systems is given. Based on the proposed models and algorithm the program complex is developed. The paper presents the research of the dependence of various reliability parameters of a software system from the conditional and unconditional probability offailure of individual system components, as well as from the number of components of the software system.

Keywords: reliability, estimation, software system, multiversion software, distributed system.

К проблеме оценки надежности сложных программных систем

Р.Ю. Царев, Е.Н. Штарик, А.В. Штарик

Сибирский федеральный университет Россия, 660041, Красноярск, пр. Свободный, 79

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

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

© Siberian Federal University. All rights reserved Corresponding author E-mail address: tsarev.sfu@mail.ru

1. Введение

Интерес к оценке надежности программного обеспечения (ПО) возник одновременно с появлением самого ПО. За прошедшие десятилетия было создано множество методов, методик и моделей исследования надежности ПО [1]. Однако единого подхода к решению этой проблемы предложено не было и, по-видимому, в ближайшее врежя не предвидится. Тем не ме нее при разработке сложных программных систем создатели стараются в той или иной степени получить оценку их надежнести. Один из наиболее эффективных подходов заключается в последовательном оценивании надежности программ на каждом этапе их разработки [2]. Основная сложность при использовании статистических методов заключается в отсутствии достаточного количества исходных даннык. Динамика выявления ошибок должна тщате льно фиксироваться и обрабатываться. Важной проблемой выступает степень детализации элемента расчета надежности [3, 4]. Выявить все траектории выполнения программы при обработке информации (как это порой преалагсетса), даже для достаточно нлсложно й программы, прдктичесаи тереально [5, 6]. Исходя из этого детализация элементов расчета надежности (условно называемых программными чодуляма) дотжна ограничиваться законченныжи программными образованиями, которые, взаимодействуя между собой, составляют более сложное объединение (систему), чья надежность нас интересует. При этом допускается, что аппаратное обеспечение, операционная система и средкнрограммирования аВсолютно надежчы.

В результате анализа работ зарубежных исследователей, таких как А. Авиженис [7], Б. Боэм [8], и трудов отечественных авторов: В.В. Липаева [3, 9], Г.Н. Черкесова [10], И.В. Ковалева [11С и других в области исследования надежности ПО можно выдеаить три основные группы проблем в данной области:

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

• отсутствие единой универсааенойметодчлогии ттатирования програжмных листем;

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

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

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

2. Обобщенная модульная интегрально-вероятностная модель оценки надежности пногртммных систем

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

три, = 1,

г=1

где Е- обще е число томпонентоп в архитектуре программиой сискемы ; Ри^ - вероятность использования компонента /, / = 1, ..Е

Среднее время простоя программного обеспечения вычисляется как

ТЯ = £ [риг х°РТг х \ТАг + ТС] + ТЕ, +

г=1

+ £ [Р}Х[1х[ТЛ]^ТСт +ТЕ} +

1=1,1 *г

+ £ [РЬуХхЩ+ТС^ТТНт

иэ

+ ъ^.х^л + Тск + н +

к,геЭ

+ £[РЬткх[ТАт+ТСт+ТЕт +

1 ,теЭ

где М - число уровней архитектуры программной системы; РЕ1 - вероятность использования компонента /, / = 1, ..., Р; РР/ - вероятность сбоя в компоненте /, / = 1, ..Р; РЬУ - условная вероятность сбоя в компоненте/ при появле нии сбоя в ко мпонентеj, / =1, ..., Р,] = 1, ..., Р; В— - относительное время доступа к компоненту/, ! = 1, ..., Р; ТС/ - относительгое времо ар.лиза сбоя в компоненте /, / = 1, ..., Р; - непересекающиеся множества компонентj на уровне т, т = 1, ..., М, j = 1 , .,., Р; ТЕ/ - относительное время устранения сбоя в компоненте /, / = 1, ..., Р. Среднее время появления сбоя оычисляотся кат

МТ = £ [Ри х(1-РТ.)х [ ти. -к £ [(1 - рр. ) XX [Ти}. +

г=1 1 1 [=1,

+ £[

1, [еЭ к ,геЭ

+ £ [(1 РШитк ) х[Т1Рт+ Ш~РЦп ) хТ-Р]]] ]]]]]],

т=о,тФг 1 ,пеЭ

где TUi - относительное время исполозования компотента/,/ = 1, ..., +. Коэффициент готовности программной системы вычисляется как

5 = МТТТ /(МТТТ + Я Вероятность бязот/азной работы программного обоспечения вычисляется оак

Я, = £.Риг - Я , Я. = 1 - ПРТ[к .

Л г=1 кейг

где Я/ - вероятность бтзотказной раРоты ко мпонента /, / = 1, ..., Р;  - множество /ерсий 1/ом-понента !, ! = 1, ., Р.

Стоимость разработки щюграммного обеспечения вычисляется как

С =££С),

!=1 jeZ

где С' - стоимость разработки компонента ', ' = 1, ., Р.

- 3, -

3. Алгоритм применения обобщенной модульной интегрально-вероятностной модели оценки надежности программных систем

Шаг 1. Разделить оцениваемую программную систему на модули, определить границы модулей, их характеристики и порядок взаимодействия.

Шаг 2. Определить количество уровней в архитектуре. Если архитектура многоуровневая, перейти к шагу 4, иначе - шаг 3.

Шаг 3. Исключить из модели в формулах (1) и (2). Затем перейти к шагу 4.

Шаг 4. Определить количество версий. Если архитектура мультиверсионная, перейти к шагу 6, иначе - шаг 5.

Шаг 5. Исключить из модели 2! в формуле (3). Затем перейти к шагу 6.

Определить градины

компонента.

_f_

Определить количество уровней в архитектуре

Получить итоговые выражения TR и MTTF

Рис. 1. Блок-схема алгоритма применения обобщенной модульной интегрально-вероятностной модели оценки надежности программных систем

Шаг 6. Определить присутствует ли возможность устранения сбоев. Если нет, перейти к шагу 8, иначе - шаг 7.

Шаг 7. Исключить из модели ТС, ТЕ! в формуле (1). Затем перейти к шагу 8.

Шаг 8. Получить итоговые выражения Я, ТЯ и МТТЕ, решая формулы (1)-(3).

Блок-схема алгоритма применения обобщенной модульной интегрально-вероятностной модели оценки надежности программных систем представлена на рис. 1.

4. Модульная интегрально-вероятностная модель оценки надежности распределенных мультиверсионных программных систем

Сложность использования обобщенной модульной интегрально-вероятностной модели на фазе дизайна архитектуры программной системы состоит в том, что далеко не всегда известны все необходимые параметры [12]. Если надежность компонента заранее неизвестна, то ее можно оценить только на фазе кодирования. Более точную информацию о надежности можно получить на стадии тестирования компонентов. Вероятность использования компонента и вероятность сбоя в компоненте можно получить только после тестирования программной системы. Для распределенных мультиверсионных программных систем такие параметры, как время доступа, анализа и восстановления компонент, можно оценить также только после тестирования, что не исключает формирования структуры архитектуры будущей программной системы на концептуальной фазе. Для программных систем, реализуемых на основе объектно-ориентированного подхода, можно построить дерево иерархии классов и методов классов. В общем случае на этой стадии необходимо задать параметры, которые требуется оценить на последующих фазах.

С точки зрения объектно-ориентированного подхода вычислительный процесс - это последовательная совокупность вызовов методов классов [13]. Для такого варианта количество уровней архитектуры равно одному. Такие параметры, как время доступа, анализа и восстановления, характерны для распределенной мультиверсионной программной системы.

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

Для объектно-ориентированного подхода архитектура программной системы - совокупность иерархий классов. Каждый класс - совокупность свойств (переменных) и методов (функций) объекта. Процесс - совокупность переходов от метода одного класса к методу другого класса [6].

Для данной модели обязательно выполнение усвовио

ЪРиг = 1,

1=\

где Е - обще е число компонентов (классов) в архитектуре программной системы; РО - вероятность использования компонента !, ! = 1, ..., Е.

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

R-=(1- UPFJILa,

K E Z3

где R¡ - тероятно сть безоткашой работы icoмпоиента i, i = 1, ..., F; Z¡ - множество версий компонента /',/'= 1, .т., F; Rmul- вертятность безотккзной работы метакласса, реализующего мека-низм м/льтиверсионносте. Отметим, что метакласс ее должен растматриватнся каз компонент архитектуры и должен быть исключен из расчетов ЛИ, MTTF и Re.

Среднее время простоя прогркммнлй аисземы вычисляется еак

TR = £ [PJJ= х PFj х [(TA,. + TCo + TE¿) + £ [PLх [(+ TC . + +TE))]]]].

Среднее время появления сбзя аычислялтся кек

MTTF = XX [PUP х )1 - PF°) х [TUо + £ [() - PLji) х TU . ]]] .

г=1 j=Xj тг

Коэффициент готовности прог.аммной сизтемы вычисляется мак

S = MTTF l+MTTF + TR ) .

Вероятность безотзазной работы программной системы вычисляется как

Ps =£PU xR. ;гдт R,. =l-nPFy .

i=1 knZi

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

Rs =ÍPUt х Я, х П [PUj х (1 - Rj х PLji)].

i=i j=i,jX

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

5. Комплекс оценки надежности распределенных м°льтиверсшшных программны:] систем

Модульная интегрально-вероятностная модель оценки надежности распределенных муль-тиверсионных программных систем реализована в виде программного комплекса на языке С# [14].

Эксплуатационное назначение комплекса:

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

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

Основные выполняемые функции:

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

• определение показателей надежности проектируемой программной системы посредством оценки поведения ее симулятора;

• визуализация поведения компонентов симулятора программной системы во времени.

Множество функций комплекса образует структуру из пяти блоков:

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

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

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

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

• вывод - предназначен для вывода результатов работы системы (рис. 2).

Подсистема «Блок предварительной обработки данных» предназначена для решения следующие задач:

• редактирование денных;

• проверка корректности внесенных данных.

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

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

Рис. 2. (Структура комплекса оценки надежности распределенных мультиверсионных программных систем

Подсистема «Блок модульной интегрально-вероятностной модели» является базовой в структуре комплекса и служит для определения показателей надежности проектируемой системы посредствам использования модульной интегрально-вероятностной модели оценки надежности распределенных мультиверсионных программных систем.

Входными данными блока модульной интегрально-вероятностной модели служит результат работы подсистемы «Блок предварительной обработки данных».

Подсистема «Блок симулятора» базовая в структуре комплекса и служит для имитации работы проектируемой программной системы в соответствии с данными, полученными от подсистемы «Блок предварительной обработки данных». Имитация выполнения программной системы продолжается в течение заданного пользователем промежутка времени. В ходе работы данного блока предполагается, что каждый компонент программной системы запускается на исполнение с вероятностью Ри, на время, равное Ти,. При этом с вероятностью РЕ, в процессе исполнения компонента произойдет ошибка, время которой равно сумме ТА, (время доступа к компоненту /), ТС, (время анализа сбоя в компоненте /) и ТЕ, (время устранения сбоя в компоненте /). Также при определении наличия ошибки в компоненте принимается во внимание вероятность РЬ^ (вероятность сбоя в компоненте / при сбое в компоненте/).

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

Подсистема «Блок вывода» предназначена для вывода результатов работы комплекса. Она отображает пользователю график работы симулятора и результаты работы блока мониторинга симулятора и блока модульной интегрально-вероятностной модели.

6. Исследование модульной интегрально-вероятностной модели оценки надежности распределенных мультиверсионных программных систем

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

Положим, что программная система состоит из однотипных компонентов со следующими характеристиками: вероятность использования Ри, = 1, безусловная вероятность сбоя РЕ, = 0,1, условная вероятность сбоя РЬУ = 0 для всех], время доступа ТА,= 5 тактов, время анализа ТС, = 7 тактов, устранения сбоя ТЕ, = 10 тактов, среднее время использования компонента Ти, = 30 тактов. Время имитации 1200 тактов.

Исследование зависимости надежности программной системы от числа компонентов выявило различный характер поведения показателей надежности модульной интегрально-вероятностной модели оценки надежности программной системы от числа компонент. Так, зависимость среднего времени простоя и вероятности безотказной работы программной системы от количества компонент Я имеет линейную форму (рис. 3 и 4). В то же время зависимость роста среднего времени появления сбоя от числа компонент программной системы имеет нелинейную форму (рис. 5).

ТВ

О ~| I I I 11 I I I I I I I I 11 I I I IIIIII11IIII I I I I 11 I I I I I I I I I 11 I I I I IIIII11IIIII I I I 11 I I I I I I I I I 11 I I I I IIII11IIII 1 2 3 4 £ 6 7 Е 5 10 11 12 13 14 15 16 17 1Е 15 20

Количество компонентов [Р)

—Ф—Модель —и— Симулятор

Рис. 3. Зависимость значения среднего времени простоя программной системы от числа компонентов

[1

!

!

:

;

;

\

1

=

+44+ ++++ ++++ ++++ -Н-Н- ++++ -Н-Н- ++++ -Н++ ++++ ++Н- ++++ ++++ ++++ +Н+ ++++ ++++ ++++ Ж+

1 2 3 4 Ее ; 0 Э 10 11 12 13 14 15 16 17 1Е 15 20

Количество компонентов (Р) —♦—Модель —— Сигиулятор

Рис. 4. Зависимость значения вероятности безотказной работыы от числа компонентов программной системы

мпт

12000 —

Количество компонентов |— Модел ь И Сн щл ятор

Рис. 5. Зависимость значения среднего времени появления сбоя от числа компонентов программной системы

При анализе зависимости показателей надежности программной системы с фиксированным числом компонентов F = 10 от величины безусловной вероятности сбоя в ее компонентах выявлен линейный рост среднего времени постоя (рис. 6), линейное уменьшение среднего времени появления сбоя и вероятности безотказной работы программной системы (рис. 7 и 8).

При исследовании зависимости показателей надежности программной системы с фиксированным числом компонентов F = 10 от величины условной вероятности сбоя в компоненте отмечено линейное уменьшение среднего времени появления сбоя программной системы при увеличении безусловной вероятности сбоя в компоненте (рис. 9).

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

TR

250

200 ISO 100 so о

0,1 0,2 0,3 0,4 0,5 0,£ 0,7 0,Е 0,9 1

Безусловная версятнс(гь сбся компонента ¡PF) —•— Модел ь —— Си глулятор

Рис. 6. Зависимость значения среднего времени простоя программной системы от величины безусловной вероятности сбоя в ее компонентах

MTTF

3000

2500 2000 1500 1000 500 О

0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,Е 0,9 1

Без уел ü внан вер с гттн с

♦ Модель —Си глулятор

Рис. 7. Зависимость значения среднего времени появления сбоя от величины безусловной вероятности сбоя в компонентах программной системы

0,1 0,2 0,3 0,4 0,5 0,fi 0,7 0,Е 0,9 1

Безусловная вераятнпгтъсбол компонента iPF) —•—Модель ——Симулятор

Рис. 8. Зависимость значения вероятности безотказной работы программной системы от величины безусловной вероятности сбоя в ее компонентах

MTTF

Условная вероятность :5ся компонент ÎPL'i при возникни вен не с бол в компоненте i

—»— Моде/i ь —Я— Си мулятор

Рис. 9. Зависимость значения среднего времени появления сбоя от величины условной вероятности сбоя в компоненте при возникновении сбоя в компоненте 1

TR

О ОД 0,2 0,3 0,4 0,5 0,6 0,7 0,Е 0,9 1

Условная версятяссть сбся компонент (PL| при возникновениесбол в компоненте 1

—»—Модель —— Симулятор

Рис. 10. Зависимость значения среднего времени простоя программной системы от величины условной вероятности сбоя в компоненте при возникновении сбоя в компоненте 1

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

На рис. 13 приведена зависимость среднего времени использования компонента от числа компонентов, входящих в состав программной системы, со средним временем между сбоями, равным 675 тактам.

На рис. 14 представлена зависимость среднего времени востановления компонента от числа компонентов программной системы со средним временем восстановления системы, равным 11 тактам.

R

Ус/io вная be роятностъ с Ё с я h:c м п с н ент [Р L| п р и во s н и кн ; б?н и е с 5 с я в компоненте 1 т Модел ь —и—Си муллтор

Рис. 11. Зависимость значриия надежности прогртммной системы от величины условной вероятности сбоя в компоненте при возникновении сбоя в компоненте 1

R

^стсеняЯ вероятность с Бон компонент IPL) при воЕникнавеннес&оя я компоненте I —Модел ь  Си глулятор

Рис. 12. Зависимость значения вероятности безотказной работы программной системы от величины условной вероятности сбоя в компоненте при возникновении сбоя в компоненте 1

TU

123456709 10

ло'местеоко'.'.гс+еи е системе (

Рис. 13. Зависимость среднего времени использования компонента от числа компонент программной системы

TR

Количество ком понеит а системе

Рис. 14. Зависимость среднего времени восстановления после сбоя компонента от числа компонент программной системы

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

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

7. Заключение

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

oриентирoвaннoй. Предлoжен aлгoритм применения рaзрaбoтaннoй мoдели для оденки нaдежнocти прoгрaммных cиcтем c требyемoй aрхитектyрoй. Пoдрoбнo рaccмoтренa мoдифи-кaция oбoбщеннoй мoдyльнoй интегрaльнo-верoятнocтнoй мoдели для рacпределенных муль-тиверcиoнных прoгрaммных cиcтем.

Рaзрaбoтaнный кoмплекc нa бaзе предcтaвленнoй мoдификaции oбoбщеннoй мoдyльнoй интегрaльнo-верoятнocтнoй мoдели для рacпределенных мyльтиверcиoнных прoгрaммных ст-стем oбеcпечивaет решение cледyющих 3aAa4: предocтaвление пoльзoвaтелю инфoрмaции o пoкaзaтелях нaдежнocти прoектирyемoй прoгрaммнoй cиcтемы и отределение cтепени aдек-вaтнocти мoдyльнoй интегрaльнo-верoятнocтнoй мoдели пoкaзaтелей нaдежнocти го oтнoше-нию к реaльнoй прoгрaммнoй стстеме.

Иccледoвaние пoдтвердилo выcoкyю эффективнocть мoдyльнoй интегрaльнo-верoятнocтнoй мoдели оденки нaдежнocти прoгрaммных cиcтем. Выявлета нелинейнaя зaви-cимocть междy величинaми cреднегo времени иcпoльзoвaния кoмпoнентa, cреднегo времени вoccтaнoвления пocле cбoя кoмпoнентa и кoличеcтвoм кoмпoнентoв прoгрaммнoй cиcтемы, a тaкже хaрaктер говедения мoдели при изменении величин ycлoвнoй и безycлoвнoй верoят-нocти cбoя в кoмпoнентaх прoгрaммнoй cиcтемы. Экcпериментaльнo выявленo, чтo cреднее время гоявления cбoя в прoгрaммнoй cиcтеме и cреднее время прocтoя линейнo зaвиcят oт безycлoвнoй верoятнocти cбoя в кoмпoнентaх cиcтемы.

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

[1] Dubrova E. Fault tolerant design: an introduction. London: Kluwer Academic Publishers.

2005. l64 p.

[2] Reis G.A., August D.I., Mukherjee S.S., Cohn R. Software fault detection using dynamic instrumentation. Proceedings of the Fourth Annual Boston Area Architecture Workshop, Boston.

2006.

[3] Липаев В.В. Tеcтирoвaние кoмпoнентoв и кoмплекcoв прoгрaмм. М.: Синтег, 20l0. 400 c.

[4] Царев Р.Ю., Штарик Е.Н., Штарик А.В., Завьялова О.И. II Прибoры и стремы. Упрaвление, кoнтрoль, диaгнocтикa. 20l2. № 6. С. 29-33.

[5] Durairaj G., Koren I. and Krishna C.M. II Simulation. 200l. Vol. 76. № 3. P. l72-l83.

[6] Царев Р.Ю., Штарик А.В., Штарик Е.Н. Мyльтиверcиoннoе прoгрaммнoе oбеcпечение. Алгоритмы гoлocoвaния и oценкa нaдежнocти: мoнoгрaфия. Крacнoярcк: Сибиротий федерaльный yниверcитет, 20l3. ll8 c.

[7] Avizienis A. II Proceedings of the l0th IEEE Pacific Rim International Symposium on Dependable Computing, 2004.

[8] Boehm B. Software Risk Management, IEEE Computer Society Press, 1989.

[9] Липаев В.В. Сoпрoвoждение и yпрaвление кoнфигyрaцией cлoжных ^o^aMM^^ cредcтв. М.: Синтег, 2006. 372 c.

[10] Черкесов Г.Н. Haдежнocть aппaрaтнo-прoгрaммных кoмплекcoв. СПб.: Питер, 2005.

479.

[11] Ковалев И.В., Царев Р.Ю., Русаков М.А., Слободин М.Ю. II Прoблемы мaшинocтрoения и aвтoмaтизaции. 2005. № 2. С. 30-35.

[12] Царев Р.Ю., Штарик А.В., Штарик Е.Н. и др. // Вестник СибГАУ 2012. № 4. С. 64-70.

[13] Царев Р.Ю., Капулин Д.В., Штарик А.В., Штарик Е.Н. Синтез и управление развитием кластерных структур АСУ космических систем // Вестник СибГАУ 2012. № 2. С. 80-84.

[14] Torgersen, Mads. New features in C# 4.0. Microsoft. 2008.