Journal influence
Bookmark
Next issue
Abstract:
Аннотация:
Authors: (tsarev.sfu@mail.ru) - , Ph.D | |
Ключевое слово: |
|
Page views: 12934 |
Print version Full issue in PDF (1.53Mb) |
Создание высоконадежного отказоустойчивого программного обеспечения (ПО) представляет собой актуальную проблему. Обусловлено это применением ПО в различных областях науки и производства, где отказ может повлечь за собой значительные финансовые потери или нанести ущерб здоровью и жизни людей. В связи с этим возникает необходимость использования методов отказоустойчивого программирования при формировании ПО. Одним из подходов к созданию ПО, обладающего достаточным уровнем надежности и отказоустойчивости, является методология избыточности. Введение избыточных программных компонент в состав программной системы позволяет увеличить надежность разрабатываемой системы и застраховать ее от сбоев во время функционирования, даже несмотря на ошибки отдельных компонент. Мультиверсионное программирование, основанное на принципах программной избыточности, предполагает наличие нескольких версий модулей, решающих определенные подзадачи. Версии каждого модуля, называемые мультиверсиями, исполняются параллельно. Мультиверсии эквивалентны функционально, однако имеют различную структуру и используют разные алгоритмы решения задач. Так, решение подзадачи застраховано от возникновения ошибок в отдельных версиях модулей, которые могли быть сгенерированы на этапе программирования мультиверсий. Таким образом, мультиверсионная методология позволяет увеличить надежность ПО и гарантирует его работоспособность даже при возникновении логических ошибок в процессе исполнения отдельных версий программных модулей. Вероятность безотказной работы мультиверсионного ПО тем выше, чем больше объем вводимой программной избыточности (то есть число мультиверсий, обеспечивающих исполнение программных модулей). Однако улучшение характеристик надежности ПО с использованием избыточности требует дополнительных ресурсов. Поэтому основная проблема заключается в том, как, используя избыточность в структуре ПО, максимизировать надежность и минимизировать или не превысить заданного уровня использования ресурсов. Возникающая проблема выбора компонент ПО из всего множества вариантов, как правило, оказывается многокритериальной, так как наряду с повышением надежности работы системы, необходимо решать ряд других задач, таких как снижение денежных затрат на разработку, внедрение и модификацию системы, уменьшение времени реализации процесса управления и пр. Данная область включает в себя методы принятия решений при многих критериях, ориентирующиеся на задачи с дискретным пространством решений. К настоящему времени разработано большое число методов поддержки принятия решений, учитывающих различные уровни информации о предпочтениях эксперта. Эффективность работы этих методов подтверждается многолетним опытом их применения в различных областях, где встает задача выбора одной альтернативы из ряда предложенных. Можно констатировать, что в настоящее время для поддержки принятия решений используют различные методы и подходы, которые в совокупности дополняют друг друга. Принятие решений включает выбор последовательности действий и ее реализацию. Поддержка же принятия решений основана на получении многовариантных решений с использованием разных методов. Следует отметить, что ранее при создании мультиверсионного ПО применялись методы однокритериального принятия решений. Использование различных методов определения объема вводимой программной избыточности и многокритериального принятия решений при выборе версий программных модулей позволяет многосторонне взглянуть на проблему формирования ПО и из полученной многовариантности решений спроектировать ПО, отвечающее требованиям и желаниям проектировщика. Система поддержки принятия решений при формировании мультиверсионного ПО представляет собой законченный программный продукт, в состав которого входят ряд программно реализованных методов принятия решений и механизм работы с базой данных. Разработанная система поддержки принятия решений при формировании ПО согласно методологии мультверсионного программирования позволяет автоматизировать процесс выбора оптимального состава мультиверсионных программных компонент ПО. Концептуальная схема системы представлена на рисунке. Формирование мультиверсионного ПО требует определения объема вводимой программной избыточности. В рамках предлагаемой системы определение объема является предварительным этапом, обеспечивающим реализацию базовых требований методологии мудьтиверсионного программирования и позволяющим достичь необходимого разнообразия методов проектирования гарантоспособных программных компонент. Для решения этой задачи могут быть использованы два метода: метод модельного прототипа для определения объема вводимой программной избыточности и метод многоатрибутивного выбора оптимальной избыточности мультиверсионного ПО. Принятие решения по выбору состава мультиверсий происходит на основе следующих методов многоатрибутивного принятия решений: · fuzzy-метод решения задачи многоцелевой оптимизации; · многоатрибутивный метод учета неопределенности и субъективности оценок при выборе недоминируемого решения; · метод упорядоченного предпочтения через сходство с идеальным решением (TOPSIS). Данные методы в совокупности с методами определения объема вводимой программной избыточности обеспечивают поддержку принятия решений, предоставляя лицу, принимающему решения, информацию о приоритетах относительно возможных вариантов формирования мультиверсионного ПО. Система поддержки принятия решений при формировании мультиверсионного ПО была использована при реализации информационно-управляющего блока мобильного измерительного комплекса диагностики и мониторинга ядерных объектов и сооружений на горно-химическом комбинате (г. Железногорск) в рамках межотраслевой программы сотрудничества между Минобразования России и Минатомом России «Научно-инновационное сотрудничество». Мобильный измерительный комплекс диагностики и мониторинга предназначен для оперативного инженерно-физического обследования горных выработок, потенциально опасных наземных и подземных объектов и сооружений с целью оценки состояния прочности и устойчивости, предупреждения возможных аварийных ситуаций. Мобильная измерительная система диагностики и мониторинга является распределенной, датчики и измерительные модули удалены друг от друга и от средств обработки информации. Поставляемая датчиками информация передается по системам телекоммуникации, и поэтому может быть подвергнута искажению еще до начала переработки. Для предоставления достоверной информации требовалось построить информационно-управляющий блок системы управления мобильного измерительного комплекса диагностики и мониторинга ядерных объектов и сооружений. Средствами разработанной системы поддержки принятия решений была решена задача формирования оптимального по составу мультиверсионного ПО информационно-управляющего блока. При этом полученная вероятность безотказной работы равна 0,999989, что удовлетворяет требованиям, необходимым для безотказного функционирования мобильного измерительного комплекса. Мультиверсионное программирование является возможной альтернативой методам тестирования и доказательства правильности программ, так как обеспечивается высокий уровень надежности исполнения критичных по сбоям и ошибкам программных компонент. Именно данная методология гарантирует, что ошибки одной из версий модулей не приведут к нарушению процесса работы всего ПО, что особенно важно для систем управления и обработки данных, для которых характерны жесткие требования по надежности. Предлагаемая система поддержки принятия решений при формировании мультиверсионного программного обеспечения использует ряд различных методов выбора программных компонент, что позволяет получить многовариантность решений, необходимую для поддержки принятия решений. Разработанная программная система поддержки принятия решений может применяться как отдельно, так и в составе более крупных диалоговых систем, которые реализуют задачу формирования оптимального состава мультиверсионного ПО при заданных критериях оптимальности и ограничениях. |
Permanent link: http://swsys.ru/index.php?id=428&lang=en&page=article |
Print version Full issue in PDF (1.53Mb) |
The article was published in issue no. № 1, 2007 |
Perhaps, you might be interested in the following articles of similar topics:
- Учебно-исследовательский программно-лабораторный комплекс NET_LAB
- Унифицированный информационный интерфейс и его реализация в комплексной САПР
- Реализация теней с помощью библиотеки OpenGL
- Интегрированная система «микросреда»
- Параллельная обработка в алгоритмах визуализации с трассировкой лучей
Back to the list of articles