Научная статья на тему 'Жизненный цикл мультиверсионного программного обеспечения информационно-управляющих систем'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Царев Р.Ю., Семенько К.А.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Царев Р.Ю., Семенько К.А.

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

Life cycle of multiple version software of information control systems

The paper presents the basic elements of multiple version programming. It is given the stages of multiple version software life cycle.

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

Информационно-управляющие системы

УДК 681.518

Р. Ю. Царев

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

К. А. Семенько

Заполярный филиал ОАО «Горно-металлургический комбинат «Норильский никель», Россия, Норильск

ЖИЗНЕННЫЙ ЦИКЛ МУЛЬТИВЕРСИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ*

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

Одним из путей повышения высокой надежности программного обеспечения (ПО) информационно-управляющих систем (ИУС) является введение избыточных программных компонентов, используемых для подтверждения достоверности результатов обработки информации. Для этого в программном обеспечении применяется несколько вариантов модулей, различающихся методами решения некоторой задачи, или программной реализации одного и того же метода. Анализируя результаты исследований последних лет, можно констатировать, что наиболее перспективной в данной области является методология мульти-версионного программирования [1].

Выделяют следующие элементы мультиверсион-ного программирования, которые являются базовыми при синтезе высоконадежного ПО ИУС:

- процесс спецификации и мультиверсионного программирования (N-Version Programming, NVP), который предполагает гарантию независимости и функциональной эквивалентности N индивидуальных процессов программирования;

- результат - мультиверсионное программное обеспечение - (N-Version Software, NVS) NVP-процесса, полученное средствами конкурентного исполнения со специфицированными точками контроля и с-векторами;

- внешние средства поддержки исполнения муль-тиверсий программного обеспечения (N-Version Executive, NVX), которые обеспечивают выполнение NVS и предусматривают алгоритмы принятия решений в контрольных точках.

Эти элементы объединены целью создания независимой и конкурентной генерации N > 2 функционально эквивалентных программных компонентов, называемых мультиверсиями, после выполнения которых будет принято решение о правильности функционирования ПО.

Рассмотрим процедуры методологии мультивер-сионного программирования, соотнесенные с фазами стандартного жизненного цикла ПО ИУС:

- фаза системных спецификаций - формирование NVX (NVS-супервизор). На этой фазе внешняя среда поддержки исполнения NVX мультиверсионного ПО должна быть определена с учетом эволюции всей системы и обеспечения требований к интерфейсу;

- фаза выработки требований к ПО - выбор способов достижения и степени разнообразия версий ПО. Главная задача этой фазы состоит в том, чтобы избежать совпадения способов программирования, потенциально влияя на независимость ошибок мультиверсий;

- фаза спецификации ПО - установка определителей ошибок и алгоритмов восстановления. Спецификация версий N¥8 осуществляется с помощью К-Брес, которые полностью устанавливают функциональные требования к модулю ПО. На этой фазе выбираются и специфицируются детектор ошибок и алгоритм восстановления. При соответствии этих параметров в каждой версии необходимо избегать факторов, ограничивающих разнообразие ПО;

- фаза проектирования и кодирования - ведение протокола развития N¥8. На этой фазе проводится мультипрограммирование конкурентных версий ПО в соответствии со спецификациями К-Брес и определяется строгий протокол взаимодействия и документирования;

- фаза тестирования - фаза предварительной эксплуатации N¥8. На этой фазе при последовательном тестировании версий может осуществляться дополнение состава ПО, если велика вероятность ошибочного исполнения за счет выдачи одинаково неверного результата большинством мультиверсионных компонентов;

- фаза оценки и принятия - оценка отказоустойчивости N¥8. Оценка атрибутов, характеризующих отказоустойчивость ПО, подразумевает аналитическое имитационное моделирование и проведение экспериментов. Необходимо определить критерии оценки отказоустойчивости; оценить признаки многообразия; сделать предварительные заключения относительно аспектов, касающихся выбора подходящей модели оценки надежности ПО и определения количественных показателей метода оценки;

- фаза сопровождения и развития - выбор и осуществление способа сопровождения N¥8. Сущность этой фазы характеризуется тем, что, во-первых, функционально МУХ-среда должна быть соответствующим образом гарантирована от сбоев и ошибок на протяжении этой фазы, во-вторых, модификация N¥8 должна следовать проектной парадигме мультиверси-онного программирования.

Работа выполнена при поддержке КГАУ «Красноярский краевой фонд поддержки научной и научно-технической деятельности» (Конкурс индивидуальных проектов молодых ученых 2011 г.).

Решетневскце чтения

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

терны жесткие требования к надежности и автономности функционирования.

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

1. Avizienis A. Toward Systematic Design of Fault-Tolerant Systems // Computer. 1997. April. P. 51-58.

2. Русаков М. А., Царев Р. Ю., Шаболин С. А. Современные методы надежностной оценки сложных программных систем : монография. СПб. : Инфо-Да, 2005.

R. Yu. Tsarev, K. A. Semenko Siberian Federal University, Russia, Krasnoyarsk

LIFE CYCLE OF MULTIPLE VERSION SOFTWARE OF INFORMATION CONTROL SYSTEMS

The paper presents the basic elements of multiple version programming. It is given the stages of multiple version software life cycle.

© Царев Р. Ю., Семенько К. А., 2011

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