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