- •Котенок Андрей Владимирович
- •Содержание
- •Введение
- •Отказоустойчивые системы управления
- •Программная составляющая критичных по надежности систем управления
- •Надежностная характеристика программного модуля
- •Обеспечение надежности программ с помощью введения избыточности
- •Описание объекта исследования и его анализ
- •Методы повышения надежности программных систем
- •Моноверсионные модели
- •Обнаружение ошибок
- •Обработка исключительных ситуаций
- •Контрольная точка и перезапуск
- •Дублирование процессов
- •Разнообразие данных
- •Модели восстанавливающихся блоков
- •Простая модель восстанавливающихся блоков
- •Обобщенная модель восстанавливающихся блоков
- •Параллельная модель восстанавливающихся блоков
- •Мультиверсионное программирование
- •Мультиверсионное программирование с самопроверкой
- •Модель согласованных восстанавливающихся блоков
- •T/(n-1)-версионное программирование
- •Мультиверсионная среда исполнения оптимизационных алгоритмов: программная реализация
- •Анализ требований к среде мультиверсионного исполнения
- •Требования для обеспечения простоты
- •Требования для обеспечения производительности
- •Требования для обеспечения компактности
- •Требования для обеспечения надежности
- •Требования для обеспечения универсальности
- •Применение мультиверсионной методологии к системе управления
- •Выбор способа реализации программных модулей и их взаимодействия со средой исполнения
- •Конструирование программной модели
- •Реализация общих алгоритмов функционирования среды исполнения
- •Реализация алгоритма выявления отказов программных модулей
- •Реализация алгоритмов принятия решения о корректности или ошибочности состояний мультиверсий
- •Алгоритм голосования абсолютным большинством (габ)
- •Алгоритм голосования согласованным большинством (гсб)
- •Алгоритм нечеткого голосования согласованным большинством (нгсб)
- •Медианное голосование
- •Программный комплекс среды мультиверсионного исполнения
- •Теоретическое исследование предельной надежности мультиверсионных моделей проектирования отказоустойчивых систем
- •Модель восстанавливающихся блоков
- •Мультиверсионное программирование
- •Исследование результатов работы реализованной среды исполнения
- •Применение методологии мультиверсионного программирования к оптимизационным алгоритмам отказоустойчивых систем
- •Методология выбора наилучшего алгоритма оптимизации
- •Классы тестовых функций Класс одномерных унимодальных функций.
- •Класс многоэкстремальных функций нескольких переменных.
- •Анализ результатов
- •Заключение
- •Список использованных источников
Алгоритм нечеткого голосования согласованным большинством (нгсб)
Основной проблемой применения соотношений равенства является строго заданное отклонение значений выходов, что не позволяет производить сравнения с точностью превышающей ε. Применение нечетких множеств помогает разрешить эту проблему.
В четких множествах, элемент может либо быть элементом множества, либо не быть им. Пусть степень членства элемента во множестве задается некоторой функцией, которую будем называть характеристической функцией. Нечеткие же множества содержат элементы, которые обладают различнойстепеньюпринадлежности. Степень принадлежности задается числом на отрезке от 0 до 1, чем выше степень, тем ближе число к 1.
В классической теории алгоритмов голосования, используются соотношения равенства, основывающиеся на четких множествах. Считается, что xравнонекоторому числуa, если |x-a| <ε. Тогда характеристическая функция это равенство может быть представлена следующим образом:
Эта функция имеет прямоугольную форму (рисунок 2 .16а) с центром в точке aи шириной основания равнойε. Степень принадлежности внутри этого прямоугольника равна 1, вне – равна 0. Однако, более удобно задавать степень принадлежности так, чтобы она уменьшалась по мере удаления отa. Например, задавать ее в виде треугольника (рисунок 2 .16б):
(1)
Рисунок 2.16. Характеристическая функция соотношения равенства x и a как а) четкого множества и б) нечеткого множества в форме треугольника
Матрица согласования в данном случае будет определяться как:
R= {rij}, где
Далее, производят усечение значений элементов полученной матрицы Rк булевому виду , по некоторому заданному пороговому значениюλ. Причем, значениеλнередко указывают в названии применяемой методики - например, дляλ=0,5, название будет НГСБ-0,5.
Усечение значений происходит по следующей схеме:
После этого, полученная матрица = {} используется как матрица согласования в четком методе голосования согласованным большинством (как базовом, так и взвешенном), рассмотренном выше.
Медианное голосование
Данный метод голосования основан на том, что все выходы считаются ошибочными, а в качестве корректного результата принимается среднее между ними. Медианное голосование можно записать следующим образом:
, где
r– корректный результат;
αi– весовой коэффициент;
xi– выход мультиверсииi;
n– количество мультиверсий.
Если αi ≠ 1, то данный алгоритм называетсявзвешенное медианное голосование.
Эти алгоритмы применяются в случаях, когда произвести прямое сравнение результатов мультиверсий затруднительно. Например, когда мультиверсионная система используется для поиска оптимальных направлений. В такой ситуации напрямую сравнивать векторы не имеет смысла, так как они как минимум разной длины.
Программный комплекс среды мультиверсионного исполнения
Теоретическое исследование предельной надежности мультиверсионных моделей проектирования отказоустойчивых систем
Свойство «корректности» очень важно при разработке отказоустойчивого программного обеспечения. Чем выше его величина, тем надежнее система. Это свойство даже более важное, чем доступность и надежность, т.к. если мы знаем величину «корректности», мы можем с уверенностью сказать, сколько результатов не содержит ошибок и использовать только их, тем самым увеличив точность системы. А чем выше точность системы, тем выше ее доступность и надежность.
При реализации мультиверсионных моделей на практике, возникает вопрос: как много мультиверсий необходимо иметь, чтобы достичь желаемой надежности системы? Чтобы ответить на этот вопрос, необходимо найти соотношение между «корректностью» и количеством мультиверсий. Среди мультиверсионных методологий, существует только два фундаментальных подхода модель восстанавливающихся блоков и мультиверсионное программирование. Найдем данные соотношения для этих двух моделей.