Среда исполнения мультиверсионного программного обеспечения

ные усилия были сосредоточены на процессе интеграции различных по назначению и технологии реа-

лизации систем и подсистем в единую интегрированную информационную систему.

СРЕДА ИСПОЛНЕНИЯ МУЛЬТИВЕРСИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Р.Ю. Царев

Среда исполнения мультиверсионного программного обеспечения позволяет смоделировать программную систему, построенную по принципу избыточности программных компонент. В качестве реализуемой методологии избыточности используется мультиверсионное формирование программного обеспечения. Предлагаемая среда предоставляет возможность выбрать состав формируемого программного обеспечения, а также отследить работу системы с учетом потенциальной возможности возникновения ошибок при исполнении программных модулей, входящих в состав формируемого программного обеспечения.

Среда исполнения мультиверсионного программного обеспечения представляет собой программный продукт, обладающий удобным пользовательским интерфейсом. Пользователь (проектировщик) имеет возможность работы со средой в режиме диалога. Он выбирает модули, из которых будет сформирована программная система, и последовательность их исполнения.

Пользователь может загрузить из файла или сформировать с помощью средств среды структуру моделируемого программного обеспечения. После этого необходимо указать количество версий каждого модуля, их параметры и возвращаемый результат. Среда исполнения позволяет проследить работу мультиверсионного программного обеспечения на этапе выполнения каждого модуля.

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

Среда исполнения является гибкой по отношению к возможности внесения изменений, например, изменения последовательности исполнения модулей, количества версий модулей, параметров мультиверсий и максимального времени ожидания результата работы версий, которым руководствуется система при оценке работы версий модуля.

Среда исполнения мультиверсионного программного обеспечения может применяться как отдельно, так и в составе более крупных диалоговых систем, которые реализуют задачу формирования оптимального состава мультиверсионного программного обеспечения. Рекомендуется ее использование специалистами в области создания отказоустойчивого программного обеспечения, поскольку среда позволяет как смоделировать программное обеспечение, так и проанализировать его работу, что значительно снижает трудоемкость и финансовые затраты на проектирование и исследование функционирования программного обеспечения.

Мультиверсионная методология повышения надежности программных систем

Введение избыточных программных компонент в состав программного обеспечения позволяет увеличить его надежность и застраховать от сбоев во время функционирования, даже несмотря на ошибки отдельных компонент. Происходит это за счет дублирования версий модулей, решающих определенные подзадачи. Так, каждый модуль имеет несколько версий, называемых мультивер-сиями, которые исполняются одновременно. Мультиверсии эквивалентны функционально, однако имеют различную структуру и используют разные алгоритмы решения задач. Таким образом, решение подзадачи застраховано от возникновения ошибок версий модуля, сгенерированных еще на этапе программирования мультиверсий.

Модули мультиверсионного программного обеспечения исполняются последовательно. Каждый последующий модуль начинает свое исполнение только после того, как все версии предыдущего модуля выдадут результат. В среде исполнения мультиверсионного программного обеспечения учитывается ситуация, когда версия модуля зависает, не возвращая результата в течение некоторого задаваемого пользователем времени. В этом случае считается, что версия вернула неверный результат, и управление переходит к следующему модулю.

Смысл введения дополнительных версий программных модулей сводится к тому, что ошибки одной из версий модуля не приведут к сбою всего программного обеспечения в целом, поскольку ос-

тальные версии выдадут правильный результат. Оценка корректности результата происходит в точках контроля после окончания работы версий одного модуля и запуском следующего. В среде исполнения мультиверсионного программного обеспечения в качестве метода оценки правильности результата работы мультиверсий использован алгоритм голосования согласованным большинством. При данном подходе верным считается результат, полученный от большинства версий модуля, и именно этот результат служит входными данными версий следующего модуля.

Таким образом, надежность формируемого программного обеспечения значительно увеличивается и обеспечивается гарантия его работоспособности даже при логических ошибках отдельных программных компонент.

Описание среды исполнения мультиверсионного программного обеспечения

Пользователь среды исполнения мультиверси-онного программного обеспечения задает структуру формируемого мультиверсионного программного обеспечения. Он указывает используемые программные модули и взаимосвязь между ними. Удобный интерфейс позволяет пользователю при помощи мыши расположить модули в необходимом порядке и указать межмодульные связи.

Созданная структура мультиверсионного программного обеспечения может быть сохранена в отдельном файле. Пользователь имеет возможность загрузить структуру из файла, что упрощает работу с проектами, предполагающими доработку и дальнейшее развитие.

После определения списка модулей задаются параметры каждого модуля. Пользователь определяет тип возвращаемого модулем значения. В среде исполнения мультиверсионного программного обеспечения используются основные простые типы данных: int, float, double, bool и char. Результатом работы модуля может являться только одно значение, несколько значений, массив данных. Существует возможность добавлять, удалять новые параметры и менять значение и тип параметра. Время ожидания завершения работы модуля

также задается пользователем. В качестве единиц измерения используются миллисекунды.

Пользователь также указывает версии модулей, используемые при выполнении мультиверсионного программного обеспечения. Версиями модуля являются исполняемые файлы, имеющие расширение .exe и реализованные на начальном этапе формирования программного обеспечения. Пользователь может указать путь до исполняемого файла текущей версии модуля. Для этих нужд можно воспользоваться стандартным диалоговым окном, отражающим дерево каталогов, и указать путь к файлу версии модуля.

Среда исполнения мультиверсионного программного обеспечения является программным продуктом, устанавливаемым с диска. При установке запрашивается серийный номер, распространяемый отдельно от дистрибутива. Во время установки в отдельном системном файле сохраняются контрольные суммы файлов ядра программной системы и характеристики компьютера. При всех последующих запусках проверяется соответствие контрольных сумм, записанных в системном файле, с расчетными значениями. В случае их несовпадения выдается сообщение об ошибке, работа среды прекращается.

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

МУЛЬТИЛИНГВИСТИЧЕСКАЯ ТЕХНОЛОГИЯ ПОИСКА ДАННЫХ ДЛЯ ПОДГОТОВКИ И ПРИНЯТИЯ РЕШЕНИЯ В ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМАХ

И.В. Ковалев, П.В. Зеленков, С.С. Огнерубов, П.М. Лохмаков

Для современных информационно-управляющих систем (ИУС) характерен значительный рост объемов многоязычной (мультилингвистиче-ской) информации, хранящейся в банках данных предприятий и корпораций. В мультинациональ-

ных корпорациях требуется своевременное предоставление управленческому персоналу документов, принадлежащих различным языковым множествам, в процессе подготовки и принятия решения. Значительно возрастают требования к