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 о^^Ш 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
Е-таП: [email protected]
Предложен алгоритм муравьиной колонии с новым решающим правилом для мультиверсионной среды исполнения программного обеспечения. Разработана программная реализация предложенного алгоритма, обеспечивающая формирование состава мультиверсионного программного обеспечения с учетом динамически меняющейся архитектуры. Показано, что модифицированный алгоритм демонстрирует лучшие значения целевой функции, а также большую скорость нахождения решения.
Ключевые слова: мультиверсионное программное обеспечение, алгоритм муравьиной колонии, среда исполнения.
Решетневскуе чтения. 2014
ANT COLONY ALGORITHM FOR MULTIVERSION RUNTIME SOFTWARE
P. V. Zelenkov, D. I. Kovalev, E. V. Soloviev, V. V. Brezitskaya, R. Y. Tsarev
Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation Е-mail: [email protected]
Ant colony algorithm with a new decision rule for multiversion runtime software is proposed. Developed a software implementation of the proposed algorithm is capable to form a composition multiversion software taking into account the dynamically changing architecture. It is shown that the modified algorithm reveals the best values of the objective function, as well as greater speed of finding a solution.
Keywords: multiversion software, ant colony algorithm, the runtime environment.
Существует несколько семейств алгоритмов, которые объединяет то, что механизмы, которые лежат в основе их деятельности, были получены в результате исследования процессов, протекающих в «живом» мире. Эти алгоритмы получили название биоинспира-тивных алгоритмов. Одним из таких алгоритмов является алгоритм муравьиной колонии [1; 9]. В данной работе исследуется его применение для задачи формирования состава мультиверсионного программного обеспечения (ПО) с целью повышения надежности среды исполнения отказоустойчивого ПО [2; 3].
Предложенная модификация выполнена на основе алгоритма MAX-MIN AntSystem [4], так как помимо демонстрации хороших результатов практически на любых классах задач, данный алгоритм является одним из самых изученных алгоритмов муравьиной колонии. Для решения задачи формирования состава мультиверсионного программного обеспечения (ПО) алгоритм MAX-MIN AntSystem применялся и без какой-либо модификации [5], но в этом случае при расчете не будет использоваться весь объем информации, который несет постановка задачи, в частности, для мультиверсионного ПО с динамической архитектурой среды исполнения [6; 10]. Предлагается внести ряд изменений, которые позволят алгоритму улучшить найденные решения за счет более полного учета знаний (сведений) о поставленной задаче.
Итак, структура ПО задается набором модулей, соединенных определенным образом, образующих граф переходов с вероятностями перехода из одного модуля в другой. В каждом модуле существует определенное количество версий со значением надежности и стоимости. На основании выбранных версий в модуле вычисляется его надежность и стоимость, а благодаря наличию графа программы мы имеем возможность вычислить надежность и стоимость всей программной структуры. Также в условиях задачи должны присутствовать ограничения, накладываемые на надежность и стоимость итогового решения.
Упрощенно ACO-алгоритмы можно представить как повторение трех процедур [7]: построение решения, обновление значений феромона, дополнительные действия. На этапе построения решения происходит управление муравьями (агентами), которые одновременно и независимо друг от друга осуществляют движение и построение решений. Обновление феромона представляет собой процесс, в результате кото-
рого вносятся изменения в показатели феромона, увеличение показателя осуществляется в результате увеличения показателя феромона агентами. Также существует процедура испарения феромона. Это механизм, позволяющий избежать быстрой сходимости к одному решению. Стоит отметить, что для данной задачи все значения феромона мы ассоциируем непосредственно с характеристиками версий модулей.
Дополнительные процедуры представляют реализацию действий, которые невозможно выполнить одному агенту. Примером таких действий может быть операция локального поиска или сбор и анализ общей информации.
Существует множество разновидностей алгоритмов муравьиной колонии. Модификация алгоритма выполняется на базе алгоритма MAX-MIN AntSystem, так как помимо демонстрации хороших результатов практически на любых классах задач данный алгоритм является самым изученным ACO-алгоритмом.
Для данной задачи все значения феромона мы ассоциируем непосредственно с версиями модулей ПО. Но так как по условиям задачи каждый модуль должен быть представлен как минимум один раз, мы делим процедуру построения решения на две части: построение минимального решения и добавление дополнительных элементов.
На этапе построения минимального решения никаких отличий от стандартного алгоритма MAX-MIN AntSystem не будет. Решающее правило, по которому осуществляется выбор версии модуля при построении минимального решения, представляет классическое правило выбора, знакомое нам еще по алгоритму AntSystem [8; 11].
Что касается процесса построения решения, то рекомендуется реализовать его последовательно, так как количество версий, образующих решение, может быть различным при поиске для каждого агента. Последовательное построение решения позволит избежать постоянных проверок на завершение поиска. Также стоит отметить, что на этапе улучшения решения выбор осуществляется среди всех версий всех модулей, которые не задействованы в программе. Эти изменения, вносимые в решающее правило алгоритма, позволяют задействовать нам всю информацию из условий постановки задачи формирования мультиверси-онного ПО с динамической архитектурой.
Библиографические ссылки
1. Marco Dorigo, Thomas Stutzle. Ant Colony Optimization // Massachusetts Institute of Technology. 2004.
2. Ковалев И. В., Новой А. В., Штенцель А. В. Оценка надежности мультиверсионной программной архитектуры систем управления и обработки информации // Вестник СибГАУ. 2008. № 3. С. 50-52.
3. Ковалев И. В., Новой А. В. Расчет надежности отказоустойчивых архитектур программного обеспечения // Вестник СибГАУ. 2007. № 4. С. 14-17.
4. Ковалев Д. И., Клименко А. В., Соловьев Е. В., Туева Е. В. Модификация стандартного алгоритма муравьиной колонии для решения задачи формирования мультиверсионного программного обеспечения // Вестник СибГАУ. 2014. № 2(54). С. 33-37.
5. Ковалев И. В., Карасева М. В., Соловьев Е. В. Модификация муравьиного алгоритма для задачи формирования мультиверсионного программного обеспечения // Вестник СибГАУ. 2014. №1(53). C. 19-24.
6. Ковалев И. В., Царев Р. Ю., Прокопенко А. В., Соловьев Е. В. К вопросу реализации муравьиного алгоритма при выборе состава мультиверсионного программного обеспечения информационно-управляющих систем // Приборы и системы. Управление, контроль, диагностика. 2012. № 2. С. 1-4.
7. Зеленков П. В. [и др.] К проблеме синтеза распределенных информационно-аналитических систем поддержки принятия решений // Фундаментальные исследования. 2013. № 4-2. С. 286-289.
8. Царев Р. Ю. [и др.] Аналитико-имитационная процедура формирования структуры АСУ космических систем связи и навигации // Вестник СибГАУ. 2013. № 2 (48). С. 105-110.
9. Антамошкин А. Н., Ковалев И. В., Царев Р. Ю. Математическое и программное обеспечение отказоустойчивых систем управления. Красноярск, 2011. С 181-183.
10. Ковалев И. В., Царев Р. Ю., Прокопенко А. В., Соловьев Е. В. К вопросу реализации муравьиного алгоритма при выборе состава мультиверсионного программного обеспечения информационно-управляющих систем // Приборы и системы. Управление, контроль, диагностика. 2012. № 2. С. 1.
11. Ковалев И. В. Использование метода роя частиц для формирования состава мультиверсионного программного обеспечения // Приборы и системы. Управление, контроль, диагностика. 2013. № 3. С. 1.
References
1. Marco Dorigo, Thomas Stutzle. Ant Colony Optimization // Massachusetts Institute of Technology. 2004.
2. Kovalev I. V., Novoj A. V., Shtencel' A. V. Ocenka nadezhnosti mul'tiversionnoj programmnoj arhitektury sistem upravlenija i obrabotki informacii // Vestnik SibGAU. 2008. № 3. S. 50-52.
3. Kovalev I. V., Novoy A. V. Raschet nadezhnosti otkazoustoychivykh arkhitektur programmnogo obespe-cheniya // Vestnik SibGAU. 2007. № 4. S. 14-17.
4. Kovalev D. I., Klimenko A. V., Solovtev E. V., Tueva E. V. Modifikacija standartnogo algoritma murav'inoj kolonii dlja reshenija zadachi formirovanija mul'tiversionnogo programmnogo obespechenija // Vestnik SibGAU. 2014. № 2 (54). S. 33-37.
5. Kovalev I. V., Karaseva M. V., Solovtev E. V. Modifikacija murav'inogo algoritma dlja zadachi formirovanija mul'tiversionnogo programmnogo obespechenija // Vestnik SibGAU. 2014. № 1 (53). S. 19-24.
6. Kovalev I. V., Carev R. Ju., Prokopenko A. V., Solovtev 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-4.
7. Zelenkov P. V., Kajukov E. V., Carev R. Ju., ShShtarik E. N., Shtarik A. V. K probleme sinteza raspredelennyh informacionno-analiticheskih sistem podderzhki prinjatija reshenij // Fyundamental'nye issledovanija. 2013. № 4-2. S. 286-289.
8. 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.
9. Antamoshkin A. N., Kovalev I. V., Carev R. Ju. Matematicheskoe i programmmnoe obespechenie otkazoustojchivyh sistem upravlenija. Krasnojarsk, 2011. С. 181-183.
10. Kovalev I. V., Carev 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.
11. 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.
© Зеленков П. В., Ковалев Д. И., Соловьев Е. В., Брезицкая В. В., Царев Р. Ю., 2014