Создание и модернизация современных телекоммуникационных систем реального времени (ТСРВ) предъявляет высокие требования по надежности к программной составляющей, поскольку именно программное обеспечение (ПО) определяет надежностные характеристики систем данного класса [1]. Невыполнение требований по обеспечению необходимого уровня надежности ТСРВ может стать причиной отказа систем, что может повлечь за собой значительные экономические потери в рамках как предприятия, так и целого региона. «С другой стороны, сложность современных программных комплексов, их существенная стоимость и необходимость постоянного обновления значительно затрудняют их широкое использование рядовым пользователем» [2]. Поэтому одной из основных задач разработчиков программных средств - становится создание таких подходов к их проектированию и разработке, которые обеспечивали бы устойчивость системы к программным и аппаратным сбоям.
Таким образом, существует важная народно-хозяйственная проблема: создание методологии инженерного проектирования высоконадежного отказоустойчивого ПО телекоммуникационных систем реального времени, для успешного решения которой необходимо разработать новые и усовершенствовать существующие модели, методы и алгоритмы принятия решений в рамках комплексного подхода к повышению надежности программных средств ТСРВ.
Одной из наиболее перспективных и уже положительно зарекомендовавших себя методологий обеспечения высокой надежности и отказоустойчивости программного обеспечения является мультиверсионное проектирование.
Данная методология, предложенная в 1985 г. американским ученым-исследователем А. Авижиенисом, основывается на введении программной избыточности [3] и позволяет существенно повысить уровень надежности программного обеспечения телекоммуникационных систем реального времени.
Мультиверсионность исполнения программных модулей подразумевает независимую генерацию ряда функционально эквивалентных версий каждого модуля в соответствии с идентичными исходными спецификациями. Для версий программного модуля, называемых мультиверсиями, предоставляются средства конкурентного исполнения. Входными данными версий одного модуля являются идентичные наборы данных. Результаты же работы мультиверсий могут отличаться в виду различных причин. Выбор правильного решения из представленного множества результатов происходит в блоке оценки и принятия решения, где определяется корректный результат. На сегодняшний день разработан ряд методов и алгоритмов, которые позволяют определить правильный результат.
Мультиверсионное программирование позволяет предупредить случайные сбои, причем работа системы застрахована также и от сбоев, вызванных ошибками, сгенерированными еще во время проектирования и разработки программного обеспечения.
В виду того, что данная методология гарантирует, что отказ одной из версий не приведет к нарушению процесса работы программного обеспечения в целом, можно констатировать, что в настоящее время подход мультиверсионного отказоустойчивого программирования является альтернативой методам тестирования и доказательства правильности программ, обеспечивая высокий уровень надежности исполнения критичных по сбоям и ошибкам программных компонент.
Однако улучшение характеристик надежности программного обеспечения с использованием избыточности требует дополнительных ресурсов. Вводя программную избыточность и максимизируя надежность, одновременно с этим приходится минимизировать использование ресурсов.
Вследствие этого перед проектировщиком встает проблема выбора оптимального набора программных компонент с учетом ряда критериев. Для решения этой задачи предлагается использовать методы принятия решений, где отбор происходит по атрибутам, выбор которых диктуется парадигмой мультиверсионного проектирования [4].
Методы многоатрибутивного принятия решений ориентированы на класс задач, где множество альтернатив дискретно и конечно, что соответствует задаче выбора оптимального состава мультиверсионного программного обеспечения телекоммуникационных систем реального времени [5].
Следует отметить, что в настоящее время для поддержки принятия решений при решении оптимизационных задач выбора используют различные модели и методы, которые в совокупности дополняют друг друга.
Использование различных моделей и методов принятия решений позволяет разносторонне взглянуть на проблему формирования программного обеспечения и из полученной многовариантности решений выбрать программное обеспечение, отвечающее требованиям и желаниям проектировщика.
В рамках создания комплексного подхода к повышению надежности программных средств телекоммуникационных систем реального времени был проведен анализ и формализация задач формирования высоконадежного программного обеспечения телекоммуникационных систем реального времени, разработаны модели формирования состава мультиверсионного ПО различной структуры, а также разработан итеративный алгоритм отсева версий модулей мультиверсионного программного обеспечения ТСРВ по ограничениям на атрибуты.
Разработанные модели формирования мультиверсионного программного обеспечения телекоммуникационных систем реального времени описывают программное обеспечение различной архитектуры. Возможны четыре варианта построения мультиверсионного программного обеспечения ТСРВ: однофункциональное мультиверсионное ПО без избыточности и с избыточностью, а также многофункциональное мультиверсионное ПО без избыточности и с избыточностью. Данным архитектурам соответствуют четыре модели.
Модель однофункционального мультиверсионного ПО без избыточности SNR предполагает, что доступны более чем одна версия каждого модуля, но из-за жестких ограничений по стоимости сохранение многократных версий модулей нежелательно. Таким образом, необходимо выбрать одну версию для каждого модуля.
Однофункциональное мультиверсионное программное обеспечение с избыточностью соответствует наиболее распространенному классу мультиверсионного ПО. В данном случае для каждого модуля выбирается несколько версий, число которых ограничено общим бюджетом, выделяемым на создание мультиверсионного программного обеспечения (модель SR).
Многофункциональное мультиверсионное программное обеспечение в отличие от однофункционального состоит из нескольких программ, реализующих различные функции. При этом разные программы могут совместно использовать отдельные модули.
Так в модели многофункционального мультиверсионного ПО без избыточности MNR в отличие от первой модели в состав программного обеспечения входит несколько программ.
Многофункциональное мультиверсионное ПО с избыточностью описывает модель MR. В данной архитектуре программного обеспечения модули обладают избыточными версиями, аналогично модели SR.
Данные модели формирования мультиверсионного программного обеспечения, позволяют реализовать различные принципиально возможные структуры мультиверсионного ПО телекоммуникационных систем реального времени с учетом его надежности и стоимости.
При выборе версий модулей мультиверсионного программного обеспечения телекоммуникационных систем реального времени необходимо одновременно учитывать ограничения, накладываемые на его атрибуты. Для этого был разработан итеративный алгоритм отсева версий модулей мультиверсионного ПО ТСРВ по ограничениям на атрибуты. Схема работы итеративного алгоритма следующая.
Сначала упорядочиваются все версии каждого из модулей по значениям анализируемого атрибута. Определяется допуск, т. е. разница между ограничением на создаваемое программное обеспечение и минимальными значениями атрибутов версий модулей. После этого «отсеиваются» версии, которые не проходят допуск и, следовательно, не могут быть использованы при формировании мультиверсионного ПО ТСРВ. Таким же образом рассматриваются все остальные атрибуты.
Алгоритм заканчивает работу, если отсева больше не происходит, т. е. состав мультиверсионного ПО ТСРВ выбран, либо, если отброшены все версии одного из модулей. В последнем случае необходимо использовать мене ресурсоемкие версии модулей или расширить ограничения.
Данный итеративный алгоритм отсева версий модулей по ограничениям на атрибуты позволяет сформировать состав мультиверсионного программного обеспечения телекоммуникационных систем реального времени.
Итак, основные выводы и результаты, представленные в работе:
- На основе проведенного анализа выполнена формализация задач формирования мультиверсионного программного обеспечения телекоммуникационных систем реального времени. Данная формализация позволяет применить методы многоатрибутивного принятия решений при выборе оптимального состава мультиверсионного программного обеспечения систем данного класса.
- Разработаны модели формирования мультиверсионного программного обеспечения телекоммуникационных систем реального времени различной архитектуры. Такая дифференциация предоставляет гибкий подход к выбору соответствующей модели при формировании мультиверсионного ПО реальной телекоммуникационной системы реального времени.
- Итеративный алгоритм отсева версий модулей по ограничениям на атрибуты, вычисляемые аддитивно, позволяет сформировать состав мультиверсионного программного обеспечения телекоммуникационной системы реального времени.
Таким образом, в работе предложен модельно-алгоритмический аппарат, который позволяет существенно повысить эффективность формирования высоконадежного программного обеспечения телекоммуникационных систем реального времени, сокращая трудоемкость процесса выбора оптимального варианта программного обеспечения.
Список литературы
- Царев Р.Ю. Мультиверсионный подход к повышению отказоустойчивости программного обеспечения систем управления и обработки информации / Р.Ю. Царев // В мире научных открытий. - 2010. - № 4 (10). - Ч. 10. - С. 82-84.
- Распределенная информационная система сбора, хранения и обработки спутниковых данных для мониторинга территорий Сибири и Дальнего Востока / Шокин Ю.И., Пестунов И.А., Смирнов В.В. и др. // Журнал Сибирского федерального университета. Серия: Техника и технологии. - 2008. - Т. 1. - № 4. - С. 291-314.
- Avizienis, A. The N-Version Approach to Fault-Tolerant Software / A. Avizienis // IEEE Trans. Soft. Eng. - 1985. - Vol. SE-11 (12). - P. 1511-1517.
- Царев Р.Ю. Многоатрибутивные методы интеллектуализации систем поддержки принятия решений / Р.Ю. Царев // Системы управления и информационные технологии. - 2007. - № 3 (29). - С. 199-202.
- Ching-Lai Hwang, Kwangsun Yoon. Multiple Attribute Decision Making. Methods and Application, Springer-Verlag, Berlin, 1981, 255 p.