Научная статья на тему 'Программная реализация модифицированного алгоритма муравьиной колонии для N-версионного программного обеспечения'

Программная реализация модифицированного алгоритма муравьиной колонии для N-версионного программного обеспечения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
163
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
N-ВЕРСИОННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / N-VERSION SOFTWARE / АЛГОРИТМ МУРАВЬИНОЙ КОЛОНИИ / ANT COLONY ALGORITHM / НАДЕЖНОСТЬ / RELIABILITY

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зеленков П.В., Ковалев Д.И., Соловьев Е.В., Сарамуд М.В., Прохорович Г.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зеленков П.В., Ковалев Д.И., Соловьев Е.В., Сарамуд М.В., Прохорович Г.А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE SOFTWARE IMPLEMENTATION OF THE MODIFIED ANT COLONY ALGORITHM FOR THE N-VERSION SOFTWARE

Modification of ant algorithm for the task to develop a composition of fault-tolerant software with N-versioned architecture is implemented in the software package ACO N-version software creator. Developed software complex allows to conduct experiments on various problems of the formation of the optimal structure of the N-version software.

Текст научной работы на тему «Программная реализация модифицированного алгоритма муравьиной колонии для N-версионного программного обеспечения»

ных с автозаправки на остановке «Художественная галерея» правого берега Красноярска.

Библиографические ссылки

1. Колесников А. В., Кириков И. А., Листопад С. В. Гибридные интеллектуальные системы с самоорганизацией: координация, согласованность, спор. М. : Изд-во Ин-та проблем информатики РАН, 2014. 189 с.

2. Гибридные и синергетические интеллектуальные системы : материалы II Междунар. Поспелов-ского симпозиума / под ред. д-ра техн. наук, проф. А. В. Колесникова. Калининград : Изд-во БФУ им. И. Канта, 2014. 406 с.

References

1. Kolesnikov A. V., Kirikov I. A, Listopad S. V. Hybrid intelligent systems with self-organization: coordination, coherence, dispute. M. : Publishing house of Institute of Informatics problems of RAS, 2014. 189 p.

2. Hybrid and synergy intelligent systems: proceedings of the II International Pospelov's Symposium / group of authors; under general edition by Kolesnikov A. V. Kaliningrad: Publishing House of BFU named after I. Kant, 2014. 406 p.

© Звонков В. Б., 2014

УДК 658.512.001.56

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МОДИФИЦИРОВАННОГО АЛГОРИТМА МУРАВЬИНОЙ

КОЛОНИИ ДЛЯ W-ВЕРСИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

П. В. Зеленков, Д. И. Ковалев, Е. В. Соловьев, М. В. Сарамуд, Г. А. Прохорович

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-mail: kovalev.fsu@mail.ru

Модификация муравьиного алгоритма для задачи формирования состава отказоустойчивого программного обеспечения с N-версионной архитектурой реализована в программном комплексе ACO N-version software creator. Разработанный программный комплекс позволяет проводить эксперименты на различных задачах формирования оптимального состава N-версионного программного обеспечения.

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

THE SOFTWARE IMPLEMENTATION OF THE MODIFIED ANT COLONY ALGORITHM FOR THE N-VERSION SOFTWARE

P. V. Zelenkov, D. I. Kovalev, E. V. Soloviev, M. V. Saramud, G. A. Prohorovich

Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation Е-mail: kovalev.fsu@mail.ru

Modification of ant algorithm for the task to develop a composition of fault-tolerant software with N-versioned architecture is implemented in the software package ACO N-version software creator. Developed software complex allows to conduct experiments on various problems of the formation of the optimal structure of the N-version software.

Keywords: N-version software, ant colony algorithm, reliability.

Предложенная в данной работе модификация муравьиного алгоритма для задачи формирования состава отказоустойчивого программного обеспечения была реализована в программном комплексе, получившем название ACON-versionsoftwarecreator. Данное программное приложение написано на языке программирования C# с использованием среды программирования приложений Microsoft Visual Studio 2012. Это позволило использовать возможности, предоставляемые объектно ориентированным подходом при разработке программного обеспечения, а также задействовать Windows Forms Framework при разработке графического интерфейса пользователя, знакомого любому пользователю персонального компьютера,

работающего под управлением операционной системы Windows.

Пользователем задаются все параметры задачи. Определяются модули будущей N-версионной программы, их название и состав. Каждый модуль содержит некоторое количество версий, каждая из которых имеет название, а также показатель надежности и стоимости. Пользователь формирует структуру связей между будущими модулями программы, а также вероятности перехода от одного модуля к другому. Задаются ограничения, которые накладываются на программу, в виде пороговых значений надежности и стоимости [1; 6]. Задается цель поиска. Это может быть минимизация стоимости программы с учетом

Решетневскуе чтения. 2014

ее надежности или максимизация показателя надежности с учетом заданного показателя максимальной стоимости Ж-версионного ПО [2; 7; 11].

Разработанный программный комплекс позволяет проводить эксперименты на различных задачах формирования оптимального состава Ж-версионного программного обеспечения. Однако при программной реализации муравьиного алгоритма были внесены изменения, которые позволили организовать контроль исполнения алгоритма и учесть особенность задачи формирования Ж-версионного программного обеспечения. Особенности реализации муравьиного алгоритма в этом случае удобно рассмотреть при анализе функции Calculate Solution, которая выглядит следующим образом:

publicProgSolutionCalculateSolution()

{

AntManager.ConstructMinimumSolution();

AntManager.ConstructSolution();

varisBestUpdated = AntManager.UpdateBestSolution();

PheromoneManager.UpgradeValues(AntManager.Bes tAnt);

AntManager.ResetAnts();

PheromoneManager.ResetPheromones(isBestUpdated);

if (AntManager.BestAnt ! = null)

returnAntManager.BestAnt.Solution.Clone();

returnnull;

}

1. AntManager.ConstructMinimumSolution () - задача формирования состава Ж-версионного программного обеспечения имеет ограничение, которое накладывается на найденное решение, заданное вышеприведенной формулой. Поэтому была создана отдельная функция, которая гарантирует соблюдение данного ограничения, что позволит рассчитать начальные параметры решения.

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

3. AntManager.UpdateBestSolution() - функция проводит анализ найденных решений. Если было найдено решение, качество которого превышает лучшее найденное решение, происходит его сохранение в переменную, и функция возвращает логическую 1, в противном случае возвращается 0.

4. PheromoneManager.UpgradeValues(AntManager. BestAnt) - функция осуществляет процесс обновления феромона: испарение существующего феромона и увеличение феромона на лучшем найденном решении благодаря переданному значению.

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

6. PheromoneManager.ResetPheromones(isBestUpda ted) - функция проверяет количество итераций без улучшения, в случае превышения порогового значения происходит сброс всех показателей феромона в

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

7. Если было найдено решение, то происходит его возврат для использования, в противном случае возвращается null.

Для проверки возможности применения алгоритма на реальном объекте была решена задача формирования Ж-версионного ПО системы обработки данных реального времени долговременной орбитальной станции [3; 8; 11]. Модифицированный алгоритм продемонстрировал лучшие значения целевой функции, а также большую скорость при нахождении решения.

Программная реализация алгоритма муравьиной колонии использует новое решающее правило для процедуры формирования Ж-версионного программного обеспечения с учетом специфики постановки задачи как задачи покрытия множества. Работа программы продемонстрировала хорошие результаты на тестовых задачах. Разработанный программный комплекс позволил провести эксперименты и собрать статистику для сравнения работы стандартного и модифицированного алгоритма муравьиной колонии [4; 9]. На разработанных тестовых задачах проведены эксперименты и исследована эффективность модифицированного алгоритма в сравнении со стандартным, в результате чего были получены данные о том, что модифицированный алгоритм демонстрирует лучшие значения целевой функции, а также большую скорость нахождения решения. Исследована задача практического применения алгоритма муравьиной колонии для формирования состава Ж-версионного программного обеспечения и проведено сравнение результатов. В качестве реального объекта было рассмотрено программное обеспечение долговременных орбитальных станции [5; 10]. В результате сравнения стандартного и модифицированных алгоритмов были получены данные, которые показывают превосходство модифицированного алгоритма.

Библиографические ссылки

1. Ковалев И. В., Новой А. В., Штенцель А. В. Оценка надежности мультиверсионной программной архитектуры систем управления и обработки информации // Вестник СибГАУ. 2008. № 3. С. 50-52.

2. Ковалев И. В., Карасева М. В., Соловьев Е. В. Модификация муравьиного алгоритма для задачи формирования мультиверсионного программного обеспечения // Вестник СибГАУ. 2014. № 1(53). C. 19-24.

3. Кульба В. В., Микрин Е. А., Павлов Б. В. Проектирование информационно-управляющих систем долговременных орбитальных станций. М. : Изд-во Наука, 2002. 343 с.

4. Зеленков П. В. [и др.] К проблеме синтеза распределенных информационно-аналитических систем поддержки принятия решений // Фундаментальные исследования. 2013. № 4-2. С. 286-289.

5. Царев Р. Ю. [и др.] Аналитико-имитационная процедура формирования структуры АСУ космических систем связи и навигации // Вестник СибГАУ. 2013. № 2 (48). С. 105-110.

6. Антамошкин А. Н., Ковалев И. В., Царев Р. Ю. Математическое и программное обеспечение отказоустойчивых систем управления. Красноярск, 2011.

7. Ковалев И. В., Царев Р. Ю., Прокопенко А. В., Соловьев Е. В. К вопросу реализации муравьиного алгоритма при выборе состава мультиверсионного программного обеспечения информационно-управляющих систем // Приборы и системы. Управление, контроль, диагностика. 2012. № 2. С. 1.

8. Ковалев И. В. Использование метода роя частиц для формирования состава мультиверсионного программного обеспечения // Приборы и системы. Управление, контроль, диагностика. 2013. № 3. С. 1.

9. Ковалев И. В. [и др.] Минимизация межмодульного интерфейса для обеспечения надежности мультиверсионного программного комплекса // Вестник СибГАУ. 2013. № 2 (48). С. 35-37.

10. Антамошкин А. Н., Ковалев И. В., Царев Р. Ю. Математическое и программное обеспечение отказоустойчивых систем управления и обработки информации / М-во сельского хоз-ва Российской Федерации ; Красноярский гос. аграрный ун-т. Красноярск, 2011.

11. Зеленков П. В., Ковалев И. В., Брезицкая В. В. Инструментальные средства формирования мульти-версионной архитектуры отказоустойчивых программных систем / М-во сельского хоз-ва Российской Федерации ; Красноярский гос. аграрный ун-т. Красноярск, 2011.

References

1. Kovalev I. V., Novoj A. V., Sht'ancel' A. V. Ocenka nadezhnosti mul'tiversionnoj programmnoj arzhitekrtury sistem upravlenija i оbrabotki informacii // Vestnik SibGAU. 2008. № 3. S. 50-52.

2. Kovalev I. V., Karaseva M. V., Solov'ev E. V. Modifikacija muravtinogo algoritma dlja zadachi formirovanija mul'tiversionnogo programmnogo obespechenija // Vestnik SibGAU. 2014. № 31 (53). S. 19-24.

3. Kul'ba V. V., Mikrin E. A., Pavlov B. V. Proektirovanie informacionno-upravljajushhih sistem dolgovremennyh orbital'nyh stancij. Izda'el'stvo: Nauka. 2002. 343 s.

4. Zelenkov P. V., Kajukov E. V., Carev R. Ju., Shtarik E. N., Shtarik A. V. K probleme sinteza raspredelennyh informacionno-analiticheskih sistem podderzhki prinjatija reshenij. Fundamental'nye issledovanija. 2013. № 4-2. S. 286-289.

5. Carev R. Ju., Prokopenko A. V., Litoshik S. V., Zelenkov P. V., Brezickaja V. V. Analitiko-imitacionnaja procedura formirovanija struktury ASU kosmicheskih sistem svjazi i navigacii // Vestnik SibGAU. 2013. № 2 (48). S. 105-110.

6. Antamoshkin A. N., Kovalev I. V., Carev R. Ju. Matematicheskoe i programmnoe obespechenie otkazoustojchivyh sistem upravlenija. Krasnojarsk, 2011.

7. Kovalev I. V., Cprev R. Ju., Prokopenko A. V., Solov'ev E. V. K voprosu realizacii murav'inogo algoritma pri vybore sostava mul'tiversionnogo programmnogo obespechenija informacionno-upravljajushhih sistem. Pribory i sistemy. Upravlenie, kontrol', diagnostika. 2012. № 2. S.1.

8. Kovalev I. V. Ispol'zovanie metoda roja chastic dlja formirovanija sostava mul'tiversionnogo programmnogo obespechenija. Pribory i sistemy. Upravlenie, kontrol', diagnostika. 2013. № 3. S.1.

9. Kovalev I. V., Nurgaleeva Ju. A., Shahmatov A. V., Chekmarev S. A., Lukin F. A. Minimizacija mezhmodul'nogo interfejsa dlja obespechenija nadezhnosti mul'tiversionnogo programmnogo kompleksa. Vestnik SibGAU. 2013. № 2 '(48). S. 35-37.

10. Antamoshkin A. N., Kovalev I. V., Carev R. Ju. Matematicheskoe i programmnoe obespechenie otkazoustojchivyh sistem upravlenija i obrabotki informacii ; M.-vo sel'skogo zoz-va Rossijskoj Federacii, Krasnojarski j goss. agrarnyjun-t. Krasnojarsk, 2011.

11. Zelenkov P. V., Kovalev I. V., Brezickaja V. V. Instrumental'nye sredstva formirovanija mul'tiversionnoj arhitektury otkazoustojchivyh programmnyh sistem. M-vo sel'skogo hoz-va. Rossijskoj Federacii. FGBOU VPO "Krasnojarskijgos. agrarnyjun-t" Krasnojarsk, 2011.

© Зеленков П. В., Ковалев Д. И., Соловьев Е. В., Сарамуд М. В., Прохорович Г. А., 2014

УДК 658.512.001.56

АЛГОРИТМ МУРАВЬИНОЙ КОЛОНИИ ДЛЯ МУЛЬТИВЕРСИОННОЙ СРЕДЫ ИСПОЛНЕНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

П. В. Зеленков, Д. И. Ковалев, Е. В. Соловьев, В. В. Брезицкая, Р. Ю. Царев

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31

Е-таП: kovalev.fsu@mail.ru

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.