Научная статья на тему 'Проблема совместимости версий мультиверсионного программного обеспечения в условиях нечеткости бюджета'

Проблема совместимости версий мультиверсионного программного обеспечения в условиях нечеткости бюджета Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
238
62
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ерыгин В. Ю., Ковалев И. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проблема совместимости версий мультиверсионного программного обеспечения в условиях нечеткости бюджета»

Актуальные проблемы авиации и космонавтики. Информационные технологии

На этапе идентификации определяются основные задачи, выявляются цели разработки, определяются эксперты и типы пользователей. Цель разработки ЭС в медицине одна - обеспечение знаниями и помощь молодым специалистам на основе полученных знаний от опытных специалистов (экспертов) в данной области. Профессиональные медицинские пакеты очень специализированы. Например, программы экстренной диагностики и неотложной терапии, диагностики болей в области сердца, предупреждения осложнений беременности, анестезиологии и т. д. В создании экспертных систем участвуют, как правило, врач-эксперт, математик и программист. Основная роль в разработке такой системы принадлежит врачу-эксперту. Основные пользователи медицинской ЭС -врачи, молодые специалисты, не обладающие еще достаточным врачебным опытом [3].

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

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

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

На этапе выполнения осуществляется наполнение базы знаний, создание прототипа ЭС. На данном этапе все собранную информацию заносят в базу знаний, формируя полноценную ЭС, пригодную для практического применения в медицинском учреждении [2].

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

На этапе опытной эксплуатации проверяется пригодность экспертных систем для конечного пользователя. Врач использует систему в своей врачебной деятельности, обращается за советом, подсказками или проходит процесс дополнительного обучения [3].

Таким образом, ЭС позволяют решать задачи диагностики, дифференциальной диагностики, прогнозирования, выбора стратегии и тактики лечения и др. На сегодняшний день ведется активная разработка и внедрение ЭС в медицину, дополняются и обучаются уже существующие интеллектуальные системы. Например, недавно русскими программистами была разработана ЭС под названием «Кардиолог», которая на основе симптомов сердечнососудистых заболеваний выдает диагноз, рекомендации к лечению больного. Благодаря системе самообучения, врач может добавлять данные о заболеваниях и симптомах, которые ЭС обрабатывает и вносит в базу знаний.

Библиографические ссылки

1. Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. СПб. : Питер, 2001. 384 с.

2. Дюк В. А., Эмануэль В. Л. Информационные технологии в медико-биологических исследованиях. СПб. : Питер, 2003. 528 с.

3. Продеус А. Н., Захрабова Е. Н. Экспертные системы в медицине. Киев : Век+, 2004. 320 с.

© Володина А. Н., 2012

УДК 519.8

В. Ю. Ерыгин Научный руководитель - И. В. Ковалев Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева, Красноярск

ПРОБЛЕМА СОВМЕСТИМОСТИ ВЕРСИЙ МУЛЬТИВЕРСИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В УСЛОВИЯХ НЕЧЕТКОСТИ БЮДЖЕТА

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

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

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

Секция «Информационнее системы и технологии»

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

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

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

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

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

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

бины дерева может быть произвольное количество элементов. Таким образом, класс ограничений варьируется от единицы и до числа модулей в программном средстве Ы, а количество элементов на каждом уровне варьируется в пределах от одного и до тг -1, г = 1, N, где тг - число версий, доступных для каждого модуля.

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

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

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

© Ерыгин В. Ю., 2012

i Надоели баннеры? Вы всегда можете отключить рекламу.