На современном этапе, когда программное обеспечение (ПО) применяется во множестве областей науки и производства, к качеству используемого ПО предъявляются высокие требования. Однако существуют отрасли, где недостаточная надежность ПО может привести к критическим ситуациям, ценой которых будут значительные экономические потери или даже жизни людей. Это относится и к телекоммуникационным системам реального времени (ТСРВ). В связи с этим, возникает потребность в таких алгоритмах программирования или методах разработки, которые бы обеспечивали достаточно высокий уровень надежности ПО данных систем [1].
В настоящее время используются различные подходы к разработке высоконадежного программного обеспечения. Однако результаты исследований показали, что наиболее устойчивым к аппаратным и программным ошибкам является мультиверсионное проектирование [2]. Оно состоит в том, что в систему включаются несколько компонент ПО, дублирующих друг друга по своему целевому назначению. При этом каждый модуль отличается уникальным составом, набором версий. Простое копирование версий одного модуля является неэффективным ввиду того, что копируются и скрытые ошибки. Поэтому версии разрабатываются независимо друг от друга. Так как при таком подходе значительно увеличивается набор компонентов, т. е. самих модулей и составляющих их мультиверсий, то усложняется и выбор оптимального состава ПО ТСРВ.
Использование модульного принципа на этапе технического проектирования связано с процессом оптимизации состава и взаимосвязей отдельных модулей программного обеспечения, имеющего оптимальные характеристики, связанные с разработкой, отладкой и эксплуатацией ПО ТСРВ.
Ввиду того, что при создании программных средств приходится учитывать ряд параметров или атрибутов ПО, таких как стоимость, ограниченность вычислительных ресурсов и пр., перед проектировщиком встает проблема выбора состава программного обеспечения, которая, как правило, оказывается многоатрибутивной [3]. Наряду с повышением надежности работы системы необходимо решать ряд других задач, таких как снижение денежных затрат на разработку, внедрение и модификацию системы, уменьшение времени реализации. В процессе проектирования специалист решает оптимизационную задачу выбора состава модулей, формируя, таким образом, высоконадежное ПО ТСРВ.
Основными атрибутами при выборе состава ПО ТСРВ являются минимум сложности межмодульного интерфейса, минимум времени обмена между оперативной и внешней памятью при оперативном решении задач, минимум объема неиспользуемых данных при пересылках между оперативной и внешней памятью, минимум сложности алгоритмов обработки данных; максимум информационной производительности модулей ПО при решении задач, максимум достоверности обработки данных.
Процесс формирования мультиверсионного программного обеспечения ТСРВ осложняется тем, что каждая версия каждого модуля должна проектироваться с расчетом взаимодействия с версиями других модулей [4]. Особое внимание здесь должно уделяться именно межмодульному обмену данных. Благодаря тому, что при мультиверсионном проектировании приходится рассматривать задачи упрощения алгоритмов работы версий, а также минимизации потребления вычислительных ресурсов сложность многоатрибутивной оптимизации значительно возрастает.
Как показала практика, большинство реальных задач, и в частности, формирование мультиверсионных программных средств телекоммуникационных систем реального времени, являются именно многоатрибутивными задачами принятия решений. Это еще раз подтверждает целесообразность применения многоатрибутивных моделей и методов при формировании ПО телекоммуникационных систем реального времени.
СПИСОК ЛИТЕРАТУРЫ
1. Царев, Р.Ю. Оценка гарантоспособных систем управления с помощью модельного прототипа / Р.Ю. Царев, О.И. Завьялова, А.В. Аниконов // Приборы и системы. Управление, контроль, диагностика. 2009. № 8. С. 4750.
2. Ковалев, И.В. Мультиверсионное проектирование отказоустойчивого программного обеспечения систем управления / И.В. Ковалев, М.Ю. Слободин, Р.Ю Царев // Проблемы машиностроения и автоматизации. 2006. № S. С. 6169.
3. Царев, Р. Ю. Многоатрибутивные методы интеллектуализации систем поддержки принятия решений / Р.Ю. Царев // Системы управления и информационные технологии. 2007. № 3 (29). С. 199202.
4. Ковалев, И.В. Применение COMтехнологии для реализации мультиверсионного программного обеспечения систем управления и обработки информации / И.В. Ковалев, А.А. Ступина, Р.Ю. Царев, В.А. Волков // Приборы и системы. Управление, контроль, диагностика. 2007. № 3. С. 1822.