I Научная конференция студентов, аспирантов и молодых ученых «ПРОБЛЕМЫ МОДЕЛИРОВАНИЯ, ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ» - 2011
МЕТОДИКА ФОРМИРОВАНИЯ СОСТАВА ОТКАЗОСУСТОЙЧИВОГО ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ НА БАЗЕ МУРАВЬИНОГО АЛГОРИТМА
Е.В.Соловьев
Институт космических и информационных технологий СФУ
Задача создания надежного и отказоустойчивого програмного обеспечения всегда будет стоять перед его разработчиками. Одним из вариантов позволяющим существенно повысить надежность является использование методологии мультиверсионного програмирования. Основной идеей данной методологии является использование в рамках одного модуля несольких версий. Но тогда перед разработчиком встает выбор оптимального сотава данных версий. Для решения данной задачи существуют различные алгоритмы. В данной статье будет рассмотрен муравьиный алгоритм.
Идея муравьиного алгоритма – моделирование поведения муравьёв, связанного с их способностью быстро находить кратчайший путь от муравейника к источнику пищи и адаптироваться к изменяющимся условиям, находя новый кратчайший путь. При своём движении муравей метит путь феромоном, и эта информация используется другими муравьями для выбора пути. Это элементарное правило поведения и определяет способность муравьёв находить новый путь, если старый оказывается недоступным
Основные ограничения, которые стоят перед разработчиком, это стоймость и надежность програмного обеспечения. Поэтому классический муравьиный алгоритм изменяется для решения задачи с учетом данных ограничений.
Начнем с изменения вероятностно-пропорционального правила таким образом, чтобы оно отражало вероятность выбора версии . Так же надо учесть как стоимость, так и надежность версий. Тогда формула примет следующий вид:
(1)
где - вероятность выбора -ого модуля;
- стоимость -ого модуля;
- стоимость -ого модуля;
— параметр, задающий вес следа феромона;
и параметры варьируя, которые можно сдвигать наше решение либо в сторону надежность, либо в сторону стоимости.
Формула обновления феромона:
(2)
- коэффициент испарения феромона.
Рассмотрим работу алгоритма на примере выбора версии в следующем модуле програмного обеспечения:
Название версии
Стоймость версии
Надежность версии
Version 1
57
0.83
Version 2
38
0.7
Version 3
71
0.96
Version 4
63
0.87
В результате работы алгоритма получены следующие данные:
Рисунок 1 – График изменения количества феромона при α = 2, β = 4, γ = 3
Рисунок 2 – График изменения количества феромона при α = 2, β = 0.4, γ = 2
Как видно из представленных выше данных муравьиный алгоритм можно использовать для нахождения оптимального состава мультиверсионного программного обеспечения. Он не только решает поставленную задачу, но делает это в разумный промежуток времени. Основной задачей пользователя является подбор таких коэффициентов в формуле вероятностно-пропорционального правила(1) таким образом, чтобы получить решение, которое будет удовлетворять ограничениям надежности и стоймости, которые он накладывает.
Список литературы:
Ковалёв, И. В. Мультиверсионный метод обеспечения отказоустойчивости программных архитектур систем управления критичными по надёжности техническими объектами / И.В. Ковалёв, Р.В. Юнусов // Науч. конф. «Научно-инновацинное сотрудничество». Москва, 2002. – 172 c.
Штовба, С.Д. Муравьиные алгоритмы / С.Д. Штовба // EXPonenta Pro. Математика в приложениях, – 2003. №4. – С.70-75
Библиографическая ссылка
Е.В.Соловьев МЕТОДИКА ФОРМИРОВАНИЯ СОСТАВА ОТКАЗОСУСТОЙЧИВОГО ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ НА БАЗЕ МУРАВЬИНОГО АЛГОРИТМА // I Научная конференция студентов, аспирантов и молодых ученых «ПРОБЛЕМЫ МОДЕЛИРОВАНИЯ, ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ ПРОГРАММНЫХ СРЕДСТВ».
URL: http://econf.rae.ru/article/6369 (дата обращения: 03.04.2025).