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

кандидата технических наук
Юнусов, Ренат Викторович
город
Красноярск
год
2003
специальность ВАК РФ
05.13.01
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Система модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств»

Автореферат диссертации по теме "Система модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств"

На правах рукописи

Юнусов Ренат Викторович

Система модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств

05.13.01 —Системный анализ, управление и обработка информации (по отраслям: информатика, вычислительная техника и управление)

Автореферат диссертации на соискание ученой степени кандидата технических наук

Красноярск - 2004

Работа выполнена в Красноярском государственном техническом университете

Научный руководитель

доктор технических наук,

профессор Ковалев Игорь Владимирович

Официальные оппоненты

доктор технических наук, профессор Доррер Георгий Алексеевич

кандидат технических наук, профессор Вейсов Евгений Алексеевич

Ведущая организация: Государственный научно-исследовательский институт информационных технологий и телекоммуникаций «Информика» (г. Москва)

Защита состоится 13 февраля 2004 года на заседании диссертационного совета Д 212.098.04 при Красноярском государственном техническом университете по адресу: ул. Киренского, 26, Красноярск, 660074, ауд. Д 501.

Факс КГТУ: (3912) 43-06-92 e-mail: sovet@front.ru

С диссертацией можно ознакомиться в библиотеке Красноярского государственного технического университета.

Автореферат разослан 13 января 2004 года

Ученый секретарь диссертационного совета

доктор технических наук

2004-4

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

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

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

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

Уверенность в успешности решения поставленной проблемы основывается на результатах исследований таких отечественных и зарубежных ученых, как Хорошевский В.Г., Липаев В.В., Ковалев И.В., Авиженис А.А, Боэм Б.У., Гросспитч К.Е, и др.

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

Для достижения поставленной цели решались следующие задачи:

- Анализ существующих методик, моделей и алгоритмов оценки надежности программных средств.

- Анализ методик, моделей и алгоритмов оценки надежности объектно-ориентированного программного обеспечения.

( РОС НАЦИОНАЛЬНАЯ

3 БИБЛИОТЕКА I СПтр«»г I

09 ГС0?"*

- Разработка базовой модели оценки надежности программного обеспечения, которая охватывает все этапы жизненного цикла программных средств.

- Формирование ряда подмоделей оценки надежности, путем модификации базовой модели.

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

- Применение системы при реализации реальных проектов разработки программных средств.

Методы исследования. При выполнении работы использовались математическое и вероятностное моделирование параметров сложных систем, методы-оценки надежности сложных систем; элементы теории вероятностей, объектно-ориентированный анализ, теория надежности программного обеспечения.

Научная новизна работы:

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

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

- Разработан алгоритм трансформации базовой модели для оценки надежности ПО любого класса.

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

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

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

Практическая ценность.

Диссертационная работа выполнялась по проектам межотраслевых программ Минобразования России и Минатома России по направлению «Научно-инновационное сотрудничество» (проект VII-12), а также в рамках тематического плана КГТУ (2001-2003 гг.).

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

Разработанная система позволяет:

- Рассчитать требуемое время тестирования (в человеко-часах) компонент ПО для достижения требуемого уровня надежности на ранних фазах жизненного цикла

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

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

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

Реализация результатов работы.

При использовании системы- модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств был реализован-модул «Модели надежности» системы Microsoft Business Solutions-Axapta, исполыуемый в официальном Центре Решений Microsoft Business Solutions в Краснсфском крае.

Материалы диссертационной работы введены в учебные курсы и исполь.уются при чтении лекций студентам кафедры информатики Красноярского Государственного Технического Университета по дисциплине «Разработка программного обеспечения для информационно-управляющих систем).

На защиту выносятся:

- Базовая модель оценки параметров надежности программных средств.

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

- Модель и алгоритм оценки транзакционной надежности объектно-орентированного программного обеспечения систем обработки и хранения информации,.

- Система модельно-алгоритмической поддержки многоэтапного анализа нагжности программных средств-

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

- в всероссийской научно-практической конференции «Решетневские чтения», Крсноярск, 2000 г.;

- в всероссийской электронной научно-технической конференции, Вологда, 2000г.;

- на международной научной конференции Telematica'2001, Санкт-Петербург, 2001г.;

- на научной конференции "Научно-инновационное сотрудничество". Москва, 2002 г.;

- на международной научно-практической конференции СибГАУ CAKG-2002, Красноярск, 2002 г.;

- на V-й всероссийской конференции с международным участием молодых ученых и аспирантов «Новые информационные технологии. Разработка и аспекты применения», Таганрог, 2002 г.

Диссертационная работа в целом обсуждалась на научных семинарах кафедры информатики Красноярского Государственного Технического Университета (2000-2003 гг.), в Академии Microsoft Business Solutions CIS, Москва 2002 г.

Публикации. По теме диссертации опубликовано 16 печатных работ Полный список публикаций представлен в конце автореферата.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы.

СОДЕРЖАНИЕ РАБОТЫ

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

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

В результате анализа проблемной области удалось выявить три основные группы проблем;

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

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

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

Надежность ПО определяется как вероятность функционирования без ошибок за определенный период времени в определенной операционной системе. Существует и другое определение надежности — операционная(транзакционная) надежность. Операционная надежность -способность системы или компонента-выполнять требуемые-функции при определенных условиях в рамках транзакции. Широко используется в системах) обработки и хранения информации в базах данных.

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

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

Среднее время появления сбоя (MTTF - Mean Time To Failure) - измеряет время между двумя последовательными сбоями

Интенсивность сбоев - величина обратная MTTF, определяет количество сбоев в единицу времени.

Среднее время простоя (TR) - величина определяющая время затрачиваемое на выявление, устранение и восстановление' системы или компонента системы после сбоя.

Коэффициент готовности системы - S, определяется как отношение разности среднего времени появления сбоя и среднего времени простоя системы к среднему времени появления сбоя. Характеризует вероятность того, что система работоспособна в данный момент времени.

Количество оставшихся ошибок в коде ПО — используется при разработке ПО. Показывает количество ошибок в коде, на каждую тысячу строк исходного кода.

Плотность ошибок в коде - измеряется как количество ошибок на тысячу строк исходного кода.

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

Рисунок 1. Классификация моделей

Гибридные модели используют) различные комбинации из всех выше перечисленных классов моделей;

Детально рассмотрены методы и средства обеспечения надежности программного обеспечения. Можно выделить следующие группы методов и средств:

- Методы проектирования надежного программного обеспечения

- Методы предупреждения ошибок.

- Методы обнаружения ошибок:

- Методы обеспечения устойчивости к ошибкам.

Подробно рассмотрены все фазы жизненного цикла программного обеспечения и различные модели оценки параметров надежности, применяемые на каждой фазе.

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

Рассматриваются базовые элементы мультиверсионного программного обеспечения такие как: среда исполнения, решающий блок, блок

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

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

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

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

^Р - абстрактное состояние

Рисунок 2. Схема восстановления сбойного компонента из абстрактного \ состояния другой версии компонента

При разработке функций отображения и абстрактных состояний версий можно получить некоторые вспомогательные функции:

- «Фоновое тестирование» версий, которые в текущий момент не используются для сравнения их абстрактных состояний.

- Сохранять абстрактные состояния версий в хранилище данных и использовать для восстановления сбойных версий.

- «Откатить» все версии назад и перезапустить их (может быть полезно, когда решающий метод не выявил решающее большинство).

- Реализовать схему «отката вперед»

В третьей главен предлагаются модели и алгоритмы оценки надежности программных средств на основных фазах'жизненного цикла ПО.

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

Для. фазы кодирования и тестирования» компонент предлагается модифицированная модель- роста надежности программного обеспечения (SGRM - Software Growth Reliability Model)

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

На стадии кодирования оценивается начальная плотность ошибок в коде

как:

Fph - коэффициент фазы тестирования;

Fpt — коэффициент командного программирования;

Fm — коэффициент опытности и «зрелости» процесса разработки ПО;

Fs — коэффициент структурирования;

С — константа, определяющая количество ошибок/KLOC;

Fph может принимать следующие значения: «Тестирование модуля», «Тестирование подсистемы», «Тестирование системы», «Тестирование на приемлемость» с соответствующими значениями 4;2.5;1 ; 0.35.

Fpr может принимать следующие значения: «Высокий», «Средний», «Низкий» с соответствующими значениями 0 4; 1; 2.5.

Fm может принимать следующие значения: 1.5; 1; 0 4; 0.1; 0 05 соответственно для уровней от 1 до 5.

Fs=\ для объектно-ориентированного программирования. Коэффициент С обычно лежит в диапазоне от 6 до 20 ошибок/KLOC. N(0) — начальное количество ошибок в исходном коде.

N(0)=DL, где L - количество тысяч строк исходного кода (используется для

определения начального значения ошибок в коде).

Известна, что интенсивность сбоев в экспонентациальной модели равна:

где

определяется как:

где 5 — количество инструкций в коде, Q — количество объектных инструкций в каждой инструкции кода и г - скорость выполнения инструкции компьютером, к - называется коэффициентом подверженности ошибкам и меняется от 1х10-7 до 1х10-6,/измеряется в секундах выполнения процессорного времени.

Надежность компонента определяется как:

Ят =ехр(-е4(/)),

где е — общее количество вызовов компонента за время 1, й- время выполнения компонента/общее время тестирования.

Вычислить время Т, необходимое для достижения желаемого уровня интенсивности сбоя, можно по выражению:

а время Тг для достижения желаемого уровня надежности Нт

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

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

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

Транзакционная надежность также зависит не только от надежности компонент, но и от конкретной проблемной области, для которой ПО было разработано, формально - от набора операционных профилей компонент.

Для вычисления общей надежности Шг необходимо составить полный перечень всех транзакций и вычислить надежность каждой транзакции с использованием операционных профилей.

Определим: т — общее количество классов; п - общее количество транзакций; К( - класс,

О/ - операционный профиль (множество входных диапазонов) 1-го класса, /=1,...,/и;

F¡ — вектор отображающий вероятности сбоя ¡-го класса для каждого входного диапазона, 1=1,.. ,,т; £1 - 1-й элемент вектора Р,; 2} - транзакция, у= 1,... ,и;

Ь] - множество классов принадлежащиху-й транзакции,у=1,...,я;

Нч - вектор вероятностей использования диапазона значений /-го класса в у'-й

транзакции;

- к-й элемент вектора Н,/, РРу- вес(надежность) /-го класса у'-й транзакции;

РЩ — вероятность использования у-й транзакции, сумма всех Р?7У равна 1;

надежность у-й транзакции; Л,, - транзакционная надежность всей системы;

Вес (надежность)/-го класса} ^ _ (1 —У ) [тся по Ф0?^11®-

Надежность транзакции вычисля ^ _ цг

м

После вычисления на т птт о акп^ определяется - общая

транзакционная надежность I //• ~ ^ / х //

7=1

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

- вероятность использования компонента;

- вероятность сбоя в компоненте;

- условная вероятность сбоя в одном компоненте при- сбое в другом компоненте;

- относительное время доступа к компоненту;

- относительное время анализа сбоя в компоненте;

- относительное время устранения сбоя в компоненте;

- относительное время использования компонента.

12

Имея всю необходимую информацию, можно вычислить коэффициент готовности системы &

5= АШ'Р/ГАШТ+Щ

где ШТТ¥ - среднее время появления сбоя, а ТЯ - среднее время простоя системы.

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

М - число уровней архитектуры ПО;

- общее число компонент в архитектуре ПО; N1 - число компонент на уровне 1-1 ,..,М\

£>1/ - непересекающиеся множества компонент./ на уровне ¿>У=1,..>/\ ¿=1 ,..,М; Ш - коэффициент надежности компонента»,

- множество версий компонента I, ¡=1,..^";

РШ - вероятность использования компонента I, 1=1,..^; РП - вероятность сбоя в компоненте¡=1,..^;

РЬу - условная вероятность сбоя в компоненте I при сбое в компоненте /,

ТЛ1 - относительное время доступа к компоненту /, ¿=1,..^;

Та - относительное время анализа сбоя в компоненте г, 1=1,

ТЕг - относительное время устранения сбоя в компоненте/', /=1,..,/•';

ТТЛ - относительное время использования компонента»,

ТЯ - среднее время простоя системы;

МГГР - среднее время появления сбоя?

5 - коэффициент готовности системы;

- коэффициент надежности системы;

Для данной модели обязательно выполнение условия нормировки:

^

ЕР1Г-=1 Ы '

Слегшее япемя ттпостоя системы яьтчистшется кяк'

ТЯ= Е [Ри.хРР.х[(ТА.+ТС.+ТЕ.)+ I [РЬ..х[{ТА,+ТС,+ТЕЛ + г = 1 1 * III 1 } 1

+ I [Р1,.х(ТА1+ТС1+ТЕ1т+ I Р1к.*[{ТАк+ТСк+ТЕк) +

к, ¿еД

+ ^ Шгпк ^ТАт +ТСт +ТЕп? +, 2 +

/и = ^ у 1,теи

Среднее время появления сбоя определятся по выражению:

В диссертационной работе коэффициент надежности системы предлагается вычислять как:

В; четвертой' главе представлена программная; реализация системы модельно-алгоритмической н поддержки многоэтапного анализа надежности программных средств и приводятся примеры использования созданной системы в реальных проектахг.

На рисунке 3 изображен предлагаемый алгоритм многоэтапного анализа надежности программных средств. В данный алгоритм включены все модели оценки параметров надежности программных средств;: представленные в с диссертационной работе.

Рисунок 3. Алгоритм многоэтапного анализа надежности программных средств

15

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

Концептуальная схема разработанной системы представлена ниже на рисунке 4.

Рисунок 4. Концептуальная схема системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств

Модели и алгоритмы, реализованные в программной системе, применялись при создании модуля «Управление автотранспортом».

На фазах кодирования и тестирования компонент применялась модель 8вРМ. Оценочное время тестирования всех компонент для достижения надежности не менее 0,99 составило 1635 человеко-часов; в реальном проекте было затрачено 1700 человеко-часов.

На фазе тестирования всей системы были получены транзакционная надежность и коэффициент готовности: R =0,999649; S =0,999998.

Полный тест выявил 3 входных диапазона в 3-х классах, имеющих наибольшие вероятности сбоя. После устранения «узких мест» были получены новые показатели надежности: RtI=0,999750; 5 =0,999999.

В результате применения системы в реальном проекте удалось оценить время, необходимое для тестирования всех классов приложения, выявить «узкие- места» в системе и повысить показатели надежности. Расчетные показатели, полученные с использованием разработанных моделей, отличались от реальных не более чем на 5%, что говорит о достаточной адекватности моделей.

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ На основе общих -тенденций-развития-технологий проектирования высоконадежного отказоустойчивого программного обеспечения были предложены способы решения задачи оценки надежности программных средств на основных этапах жизненного цикла ПО. Решение этой проблемы базируется на следующих основных результатах, имеющих самостоятельное научное и практическое значение.

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

- Проведен анализ методик, моделей и алгоритмов оценки надёжности объектно-ориентированного программного обеспечения, а также выявлены общие параметры оценки надежности, характерные для моделей различного класса.

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

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

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

- Предложен метод реализации системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств путем интеграции в ERP-систему Microsoft Business Solutions - Axapta.

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

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

Основные результаты диссертационной работы опубликованы в следующих работах:

1. Алимханов, A.M. Мультиверсионный метод повышения качества программно-информационных технологий для корпоративных структур / A.M. Алимханов, И.В. Ковалев, Р.В. Юнусов // Россия в III тысячелетии: прогнозы культурного развития. Качество жизни. Наука. Культура. Образование. Искусство. Власть. Производство: Сборник научных трудов по материалам Всероссийской научной конференции / Изд-во АМБ, Екатеринбург, 2002. С. 171-173

2. Алимханов, A.M. Мультиверсионное формирование программно-информационных технологий корпоративных интегрированных структур/ A.M. Алимханов, И.В. Ковалев, Р.В. Юнусов // Материалы V-й Всероссийской конференции с международным участием молодых ученых и аспирантов «Новые информационные технологии. Разработка и аспекты применения», 28 ноября 2002 г. Таганрог: ТРТУ, 2002. С. 162-164

3. Алимханов, A.M. Приложения клиент-сервер КСУП «Галактика» и модель их архитектурной надежности / А.М. Алимханов, И.В. Ковалев, Р.В. Юнусов // Вестник НИИ СУВПТ: Сб. научн. трудов/ Под общей ред. профессора Н.В. Василенко. Красноярск: НИИ СУВПТ, 2003. Выпуск 1К С. 97-102

4. Алимханов, A.M. Использование программной системы поддержки для повышения 'доступности ресурсов корпоративной СУБД / A.M. Алимханов, СВ. Савин, Р.В. Юнусов // Вестник НИИ СУВПТ: Сб. научн. трудов/ Под общей ред. профессора. Н.В. Василенко. Красноярск: НИИ СУВПТ, 2003. Выпуск 11. С. 107-112

5. Василенко, Н.В. Надежность архитектуры программного обеспечения телекоммуникационных технологий / Н.В. Василенко, Ц.В. Ковалев, Р.В.Юнусов // Международная научная конференция Telematica'2001. Санкт-Петербург, 2001. С. 23-24

6. Давыдов, И.Н. Экспресс-анализ технологии и программного комплекса автоматизированной системы технической диагностики / И.Н. Давыдов, Р.В. Юнусов // Вестник НИИСУВПТ, посвященный 100-летию Красноярской железной дороги; Красноярск: НИИСУВПТ, 1999. Вып.1. С.312-321

7. Ковалев, И.В.Оценка надежности аппаратно-программного информационно-управляющего комплекса. / И.В.Ковалев, Р.В Юнусов // САКС-2002: Тезис, докладов международной научно-практической конференции (6-7 дек. 2002, г. Красноярск) / СибГАУ. Красноярск, 2002. С. 352-353

8. Ковалев, И.В. Мультиверсионный метод повышения программной надежности информационно-телекоммуникационных технологий в корпоративных структурах / И.В.Ковалев, Р.В. Юнусов // Телекоммуникации и информатизация образования. 2003. №2. С. 50-55

9. Ковалев, И.В. Мультиверсионный метод обеспечения отказоустойчивости программных архитектур систем управления критичными по надежности техническими объектами / И.В. Ковалев, Р.В. Юнусов // Научная конференция "Научно-инновационное сотрудничество", 4.2; М.: МИФИ, 2002. С. 151-152

10. Поздняков, ДА Разработка и исследование среды мультиверсионного исполнения программных модулей. / Д.А. Поздняков, И.С. Титовский, Р.В.Юнусов // Вестник НИИ СУВПТ: Сб. научн. трудов; Красноярск: НИИ СУВПТ, 2003. Выпуск 13. С. 155-170

11. Юнусов, Р.В. Моделирование программных архитектур автоматизированных систем управления / Управляющие и вычислительные системы. Новые технологии: Материалы всероссийской электронной научно-технической конференции. Вологда: ВоГТУ, 2001. С. 60-61

12. Юнусов, Р.В. Модель формирования гарантоспособной архитектуры программного обеспечения / Решетневские чтения: Тезисы докладов 4 Всероссийской Научно-практической конференции студентов, аспирантов и молодых специалистов. Красноярск: САА, 2000. С. 172-174

13. Юнусов, Р.В. Оценка надежности программного обеспечения клиент-сервер на примере комплексной системы управления предприятием «Галактика» / Вестник НИИСУВПТ. Красноярск: НИИСУВПТ,2001.Вып.7. С. 107-112

14. Юнусов, Р.В. Оценка надежности и гарантоспособная модель архитектуры программного обеспечения / Вестник НИИСУВПТ. Красноярск: НИИСУВПТ, 2001.Вып.8. С.194-208

15. Юнусов, Р.В. Анализ надежности аппаратно-программного информационно-управляющего комплекса / Вестник НИИ СУВПТ: Сборник научных трудов / Под общей ред. профессора Н.В. Василенко. Красноярск: НИИ СУВПТ, 2003. Выпуск 11. С. 103-106

16. Kovalev, I.V. Fault-tolerant software architecture creation model based on reliability evaluation / I.V. Kovalev, RV.Younoussov // Advanced in Modeling & Analysis, vol. 48, № 3-4. Journal ofAMSE Periodicals, 2002. P.31-43

Юнусов Ренат Викторович Система модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств

Автореферат

Подписано в печать 22.12.03 Формат 60x84/16. Бумага писчая. Уч. изд. л.1. Тираж 100 экз. Заказ № 8.

Отпечатано на ротапринте КГТУ 660074, г. Красноярск, ул. Киренского, 26

Оглавление автор диссертации — кандидата технических наук Юнусов, Ренат Викторович

Содержание.

Введение.

1 Анализ методов оценки надежности программных средств на всех этапах жизненного цикла.

1.1 Программное обеспечение и надежность.

1.2 Проблемы в области исследования надежности программного обеспечения

1.2.1 Проблемы терминологии.

1.2.2 Проблемы выбора параметров.

1.3 Классификация моделей оценки надежности программного обеспечения.

1.3.1 Классификация по оптимизируемым параметрам надежности.

1.3.2 Классификация по используемым формальным методам.

1.3.3 Классификация моделей по их месту в процессе разработки.

1.3.4 Прочие модели.

1.3.5 Гибридные модели.

1.4 Методы и средства обеспечения надежности программного обеспечения.

1.4.1 Методы проектирования надежного программного обеспечения.

1.4.2 Методы предупреждения ошибок.

1.4.3 Методы обнаружения ошибок.

1.4.4 Методы обеспечения устойчивости к ошибкам.

1.5 Фазы разработки программного обеспечения.

1.6 Фаза дизайна архитектуры программного обеспечения.

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

1.6.2 Зависимость надежности от архитектуры программного обеспечения.

1.6.3 Компоненты архитектуры.

1.6.4 Свойства компонентов архитектуры.

1.6.5 Надежность архитектуры программного обеспечения.

1.7 Фаза кодирования.

1.8 Фаза тестирования.

1.8.1 Методология тестирования программного обеспечения.

1.8.2 Моделирование роста надежности программного обеспечения.

1.8.3 Операционные профили тестирования.

1.9 Выводы.

2 Мультиверсионное программное обеспечение.43 ■

2.1 Базовые элементы мультиверсионного программного обеспечения.

2.2 Жизненный цикл мультиверсионного программного обеспечения.

2.2.1 Фаза системных спецификаций - формирование NVX (NVS - супервизор)

2.2.2 Фаза выработки требований к ПО - выбор способов достижения и степени разнообразия версий ПО.

2.2.3 Фаза спецификации ПО - установка определителей ошибок и алгоритмов восстановления.

2.2.4 Фаза проектирования и кодирования - ведение СЮ-протокола развития NVS.

2.2.5 Фаза тестирования - фаза предварительной эксплуатации NVS.

2.2.6 Фаза оценки и принятия - оценка отказоустойчивости NVS.

2.2.7 Фаза сопровождения и развития - выбор и осуществление способа сопровождения NVS.

2.3 Восстановление сбойных компонент при мультиверсиоипом объектноt, ориентированном программировании.

2.3.1. Подход к построению избыточности программного обеспечения.

2.3.2 Избыточность программного обеспечения и объектно-ориентированный подход.

2.3.3 Общие принципы реализации мультиверсионной избыточности.

2.3.4 Современные подходы реализации мультиверсионной избыточности.

2.3.5 Объектно-ориентированное восстановление версий компонент программного обеспечения.

2.4 Выводы.

3 Модели и алгоритмы анализа надежности программных средств.

3.1 Модель анализа на этапе дизайна архитектуры программного обеспечения

3.2 Анализ надежности программного обеспечения на фазе кодирования.

3.3 Анализ надежности программного обеспечения на фазе тестирования системы

3.4 Операционные профили тестирования компонент.

3.4.1 Оценивание вероятностей сбоя.

3.4.2 Ведение таблиц параметров профилей.

3.4.2 Пример применения операционных профилей.

3.5 Модели надежности объектно-ориентированного программного обеспечения

3.5.1 Фаза построения архитектуры объектно-ориентированного программного обеспечения.

3.5.2 Фаза кодирования.

3.5.3 Фаза тестирования.

3.5.4 Оценка параметров надежности.

3.5.6 Модель оценки транзакционной надежности объектно-ориентированного программного обеспечения.

4 Программная реализация системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств. Практическое применение и анализ результатов.

4.1 Общие сведения.

4.2 Описание системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств.

4.3 Концептуальная архитектура системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств.

4.3.1 Логическая структура данных.

4.4 Концептуальная архитектура реализации мультиверсионной среды.

4.5 Описание функционирования системы.

4.6 Примеры решения задач и анализ результатов.

4.6.1. Фаза создания архитектуры.

4.6.2 Фазы кодирования и тестирования компонент.

4.6.3 Фаза тестирования системы.

4.6.4 Фаза эксплуатации.

4.7. Анализ результатов.

Введение 2003 год, диссертация по информатике, вычислительной технике и управлению, Юнусов, Ренат Викторович

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

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

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

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

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

Хорошевский В.Г., Липаев В.В., Ковалев И.В., Движение А.А, Боэм Б.У., Гросспитч К.Е, и др.

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

Для достижения поставленной цели решались следующие задачи:

- Анализ существующих методик, моделей и алгоритмов оценки. надежности программных средств.

- Анализ методик, моделей и алгоритмов оценки надежности объектно-ориентированного программного обеспечения.

- Разработка базовой модели оценки надежности программного обеспечения, которая охватывает все этапы жизненного цикла программных средств.

- Формирование ряда подмоделей оценки надежности, путем модификации базовой модели.

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

- Применение системы при реализации реальных проектов разработки программных средств.

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

Научная новизна работы:

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

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

- Разработан алгоритм трансформации базовой модели для оценки надежности ПО любого класса.

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

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

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

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

Разработанная программная система позволяет:

- Рассчитать требуемое время тестирования компонент (в человеко-часах) ПО для достижения требуемого уровня надежности на ранних фазах жизненного цикла.

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

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

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

Реализация результатов работы. При использовании системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств был реализован модуль «Модели надежности» системы Microsoft Business Solutions-Axapta, используемый в официальном Центре Решений Microsoft Business Solutions в Красноярском крае.

Материалы диссертационной работы введены в учебные курсы и используются при чтении лекций студентам кафедры информатики Красноярского Государственного Технического Университета по дисциплине «Разработка программного обеспечения для информационно-управляющих систем».

На защиту выносятся:

- Базовая модель оценки параметров надежности программных средств.

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

- Модель и алгоритм оценки транзакционной надежности объектно-ориентированного программного обеспечения систем обработки и хранения информации.

- Система модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств.

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

- на всероссийской научно-практической конференции «Решетневские чтения», Красноярск, 2000 г.;

- на всероссийской электронной научно-технической конференции, - Вологда,

2001 г.

- на международной научной конференции Telematica'2001, Санкт-Петербург, 2001г.

- на научной конференции "Научно-инновационное сотрудничество". Москва,

2002 г.

- на международной научно-практической конференции СибГАУ САКС-2002, Красноярск, 2002 г.

- на V-й всероссийской конференции с международным участием молодых ученых и аспирантов «Новые информационные технологии. Разработка и аспекты применения», Таганрог: ТРТУ. 2002 г.

Диссертационная работа в целом обсуждалась на научных семинарах кафедры информатики Красноярского Государственного Технического Университета (2000-2003 гг.), в Академии Microsoft Business Solutions CIS, Москва 2002 г.

Публикации. По теме диссертации опубликовано 16 печатных работ. Полный список публикаций представлен в конце автореферата.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения и списка литературы.

Заключение диссертация на тему "Система модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств"

Заключение

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

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

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

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

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

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

- Предложен метод реализации системы модельно-алгоритмической поддержки многоэтапного анализа надежности программных средств путем интеграции в ERP-систему Microsoft Business Solutions - Axapta.

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

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

Библиография Юнусов, Ренат Викторович, диссертация по теме Системный анализ, управление и обработка информации (по отраслям)

1. Движение, А.Н. Гарантоспособные вычисления: от идей до реализации в проектах / Л.Н. Движение, Ж.-К. Лапри. ТИИЭР, 1986. - Т. 74. - № 5. -С.8-21

2. Ашимов, А.А. Оптимальные модульные системы обработки данных / А.А. Ашимов, А.Г. Мамиконов, В.В. Кульба. Алма-Ата: Наука. 1981. - 186 с

3. Богатырев, В.А. К повышению надежности вычисли тельных систем на основе динамического распределения функций / Изв. вузов. Приборостроение. 1981

4. Богатырев, В.А. Отказоустойчивые многомашинные вычислительные системы динамического распределения запросов при дублировании функциональных ресурсов / Изв. вузов. Приборостроение. 1996. № 4

5. Боэм, Б. Характеристики качества программного обеспечения / Б. Боэм, Дж. Браун, X. Каспар, М. Липов, Г. Мак-Леод, М. Мерит. М.: Мир, 1981. -208 с

6. Боэм, Б.У. Инженерное проектирование программного обеспечения / Пер. с англ. М.: Радио и связь, 1985. -512 с

7. Буч, Г. Объектно-ориентированный анализ и проектирование с примерами на С++. М.: БИНОМ, 1998. 560 с

8. П.Воеводин, В.В. Математические модели и методы в параллельных процессах / М.: Наука, 1986. 328 с

9. Волик, Б.Г. Методы анализа и синтеза структур управляющих систем / Под ред. Б.Г.Волика. М.: Энергоатомиздат, 1988. - 296 с

10. Гантер, Р. Методы управления проектированием программного обеспечения / Под ред. Е.К.Масловского. М.: Мир, 1981. - 392 с

11. Головкин, Б.А. Расчет характеристик и планирование параллельных вычислительных процессов / М.: Радио и связь, 1983. 272 с

12. Гудман, С. Введение в разработку и анализ алгоритмов / С. Гудман, С. Хидетниеми. Пер. с англ. - М.: Мир, 1981. - 366 с

13. П.Давыденко, О.В. Оценка надежности программного обеспечения бортового комплекса управления / О.В. Давыденко, И.В. Ковалев. Вестник КГТУ:

14. Сб.научн.трудов; под ред. Б.П.Соустина. Вып.5. - Красноярск, 1996. - С. 119-121

15. Дилон, Б. Инженерные методы обеспечения надежности систем / Б. Дилон, И. Сингх. М.: Мир, 1984.-318 с

16. Ковалев, И.В. Автоматизация создания программных средств систем управления / В кн.: Микроэлектронные устройства: проектирование и технология. Красноярск. КПИ, 1990. - С. 79-85

17. Ковалев, И.В. Многоатрибутивный метод принятия решений с учетом относительной близости к лучшей альтернативе / И.В. Ковалев, Р.Ю. Царев; Тез. докл. межрегиональной конференции «Математические модели природы и общества» Красноярск: ТЭИ, 2002. - С. 63-66

18. Ковалев И.В. Многоатрибутивная модель формирования гарантоспособного набора проектов мультиверсионных программных систем / И.В. Ковалев, Р.Ю. Царев; Вестник НИИ СУВПТ. Вып.7. -Красноярск: НИИ СУВПТ, 2001.-С. 129-137

19. Ковалев, И.В. Оптимальное проектирование мультиверсионных систем управления / И.В. Ковалев, А.А. Попов, А.С. Привалов. Доклады НТК с международным участием «Информационные технологии в инновационных проектах» . - Ижевск: ИжГТУ, 2000. - С. 24-29

20. Ковалев, И.В. Параллельные процессы в информационно-управляющих системах. Формирование и оптимизация: Монография/ И.В. Ковалев, Р.Ю.

21. Царев, Ю.Г. Шиповалов. Под ред. д.т.н., проф. А.В. Медведева. -Красноярск: НИИ СУВПТ, 2001. - 143 с

22. Ковалев, И.В. Система мультиверсионного формирования программного обеспечения управления космическими аппаратами: Диссертация на соискание ученой степени доктора технических наук / Красноярск: КГТУ, 1997.-228 с.

23. Ковалев, И.В.Надежность архитектуры программного обеспечения телекоммуникационных технологий / И.В. Ковалев, Н.В. Василенко, Р.В.Юнусов; Международная научная конференция Telematica'2001, Санкт-Петербург, 2001- С. 23-24

24. Ковалев, И.В. Мультиверсиопный метод повышения программной надежности информационно-телекоммуникационных технологий в корпоративных структурах / И.В.Ковалев, Р.В. Юнусов; Телекоммуникации и информатизация образования. 2003. №2, С. 50-55

25. Колчанов, С.Ю. Использование генетических алгоритмов в задачах' формирования мультиверсионных программных систем. / Вестник НИИ СУВПТ: Сб. научн. трудов/ Под общей ред. профессора Н.В. Василенко; Красноярск: НИИ СУВПТ.- 2003. Выпуск 11.- С. 166-179

26. Лебедев, В.А. Параллельные процессы обработки информации в управляющих системах: Монография / В.А. Лебедев, Н.Н. Трохов, Р.Ю. Царев. Красноярск: НИИ СУВПТ, 2001. - 137 с

27. Липаев, В.В. Качество программного обеспечения / М.: Финансы и статистика, 1983. 264 с

28. Липаев, В.В. Технология проектирования комплексов программ АСУ / В.В. Липаев, Л.А. Серебровский. М.: Радио и связь, 1983. - 264 с

29. Липаев, В.В. Тестирование программ / М.: Радио и связь, 1986. 234 с

30. Липаев, В.В. Надежность программных средств/ СИНТЕГ. -М., 1998. -232 с

31. Майерс, Г. Надежность программного обеспечения: Пер. с англ./ Под ред. В.Ш.Кауфмана. М.: Мир, 1980. - 360 с

32. Мамиконов, А.Г. Типизация разработки модульных систем обработки данных / А.Г. Мамиконов, В.В. Кульба, С.А. Косяченко. М.: Наука, 1989. - 165 с

33. Мамиконов, А.Г. Синтез оптимальных модульных систем обработки данных / А.Г. Мамиконов, В.В. Кульба. М.: Наука, 1986

34. Михалевич, B.C. Вычислительные методы исследования и проектирования сложных систем / B.C. Михалевич, В.Л. Волкович. Наука, 1982. - 286 с

35. Поздняков, Д.А. Разработка и исследование среды мультиверсионного исполнения программных модулей. / Д.А. Поздняков, И.С. Титовский, Р.В.Юнусов; Вестник НИИ СУВПТ: Сб. научн. трудов; Красноярск: НИИ СУВПТ.- 2003. Выпуск 13.- С. 155-170

36. Попов, А.А. Бинарная модель отказоустойчивой системы программного обеспечения: Доклады НТК с международным участием «Информационные технологии в инновационных проектах» / А.А. Попов, А.С. Привалов. Ижевск: ИжГТУ, 2000. - С. 77-83

37. Раинкшкс, К. Оценка надежности систем с использованием графов / К. Раинкшкс, И.А. Ушаков. М.: Радио и связь, 1988

38. Саркисян, А.А. Повышение качества программ на основе автоматизированных методов / М.: Радио и связь, 1991. 160 с.

39. Системный анализ: Проектирование, оптимизация и приложения / В 2 т., под общ. Ред. Антамошкина А.Н. Красноярск: САА, 1996. - 206 с

40. Фокс, Дж. Программное обеспечение и его разработка / Пер. с англ. Под ред. Д.Б.Подшивалова. - М.: Мир, 1985. - 268 с

41. Хорошевский, В.Г. Инженерный анализ функционирования вычислительных машин и систем / М.: Радио и связь, 1987. 256 с.

42. Царев, Р.Ю. Многокритериальное принятие решений при создании отказоустойчивого программного обеспечения / Вестник НИИ СУВПТ. -Вып.2. Красноярск: НИИ СУВПТ, 1999.-С. 190-194

43. Царев, Р.Ю. Преобразование атрибутов при многоатрибутивном принятии решения / Решетневские чтения. Тез. докл. V Всерос. Научн.-практ. конф. студентов, аспирантов молодых специалистов 12-15 ноября 2001г. -Красноярск: САА, 2001. С. 119-120

44. Чжу, У.У. Копирование и размещение программных модулей в системе распределенной обработки в реальном времени / У.У. Чжу, Ц.К. Лян. — ТИИЭР, 1987. Т. 75, N 5. - С. 23-44

45. Юдин, Д.Б. Математические методы оптимизации устройств и алгоритмов АСУ / Д.Б. Юдин, А.П. Горяшко, А.С. Немировский. М.: Радио и связь, 1982.-288 с

46. Юнусов, Р.В. Анализ надежности аппаратно-программного информационно-управляющего комплекса / Вестник НИИ СУВПТ: Сб.научн. трудов/ Под общей ред. профессора Н.В. Василенко; Красноярск: МНИ СУВПТ.2003. Выпуск 11. С. 103-106

47. Юнусов, Р.В. Моделирование программных архитектур автоматизированных систем управления / Управляющие и вычислительные системы. Новые технологии: Материалы всероссийской электронной научно-технической конференции. Вологда: ВоГТУ, 2001. С. 60-61

48. Antamoshkin, A. System Analysis, Design and Optimization / A. Antamoshkin, H.P. Schwefel, and others. Ofset Press, Krasnoyarsk, 1993. - 312 p

49. Ashrafi, N. Optimization Models for Selection of Programs, Considering Cost & Reliability / N. Ashrafi, O. Berman;IEEE Transaction on reliability. Vol. 41, No 2, June 1992, P.281-287

50. Avizienis, A. The N-Version approach to fault-tolerant software / IEEE Trans, on Software Engineering. Vol. SE11,№ 12, December, 1985.-P. 1491-1501

51. Berman, O. Choosing an Optimal Set of Libraries / O. Berman, M. Cutler.; IEEE Transaction on reliability. Vol. 45, No 2, June 1996, P.303-307

52. Bhatnagar, S.K. Network analysis techniques / Wiley Eastern Limited, New Delhi, 1986.-456 p

53. Bogomolov, S. Fault Tolerance Software Library Support of Real-Time Embedded Systems / S. Bogomolov, A. Bondarenko, A. Fyodarov; Third European Dependable Computing Conference,EDCC-3, Prague, Czech Republic , September 15-17, 1999

54. Cherif, A. Improving the Efficiency of Replication for Highly Reliable Systems/ A. Cherif, M. Toyoshima, T. Katayama; FastAbstract ISSRE Copyright 1999

55. Choi, J.G. Reliability Estimation of nuclear digital I&C systems using Software Functional Block Diagram and control flow / J.G. Choi, H.G.Kang; FastAbstract ISSRE Copyright 2000

56. Clasen, U. Eine Moeglichkeit der numerischen Behandlung von zeitlich-stochastischen Netzplaenen / In: "Operations Research Proceedings", Springer • Verlag Berlin-Heidelberg, 1994. P. 46-51

57. Costa, D. On the Extention of Exception to Support Software Faults Models / D. Costa, T. Mendez; FastAbstract ISSRE Copyright 2000

58. David, Ph. Development of a fault tolerant computer system for the Hermes Space Shuttle / Ph. David, C. Guidal. IEEE Trans., 1993. - P. 641-648

59. Dunham, J.R. Eds. Production of reliable flight crucial software: Validation method research for fault-tolerant avionics and control systems sub-working-group meeting / J.R. Dunham, C.J. Knight NASA Conf. Pub. 2222, NASA, 1985

60. Grams Т. The Poverty of Reliabiliy Growth Models/ FastAbstract ISSRE Copyright 1999

61. Goseva-Popova K. How Different Architecture Based Software Reliability Models are Reealated / K. Goseva-Popova, K.S. Trivedi, A.P.Mathur; FastAbstract ISSRE Copyright 2000

62. Hamlet, D. Foundational Theory of Software Component Reliability / D. Hamlet, D. Mason, D. Wiot; FastAbstract ISSRE Copyright 2000

63. Hecht, H. Fault tolerant software / IEEE Trans. Reliability, Vol. R-28, 1979. P. 227-232

64. Hui-Qun, Z. A New Method for Estimating the Reliability of Software System Based on Components / Z. Hui-Qun, S. Jing, G. Yuan; FastAbstract ISSRE and Chillarege Corp. Copyright 2001

65. Hudak, J. Evaluation & comparition of fault-tolerant software techniques / J. Hudak, B.-H. Suh, D. Sieweorek, Z. Segall

66. Karunanithi, N. Prediction of Software Reliability Using Connectionist / N. Karunanithi, D.Whitley, Y.K.Malaiya; IEEE transactions on reliability. Models July 1992, Vol. 18, No. 7

67. Kaszycki,. G. Using Process Metrics to Enhance Software Fault Prediction Models/ FastAbstract ISSRE Copyright 1999

68. Keene, S. Progressive Software Reliability Modeling/ FastAbstract ISSRE' Copyright 1999

69. Knight, C.J. An experimental evaluation of the assumption of independence in Multiversion programming / C.J. Knight, N.G. Levenson. IEEE Trans. Software Engineering, Vol. SE-12,1986. - P. 96-109

70. Kovalev, I.V. An Approach for the Reliability Optimization of N-Version Software under Resource and Cost/Timing Constraints /16th International

71. Computer Measurement Group Conference, Nashville, TN, USA, December 913,1991

72. Kovalev, I. Computer-Aided Modelling of Production Cycles Optimal Sequence in: Letunovsky V.V.(Editor-in-chief): Problems of products quality assurance in machine-building: Proceedings of Int. Conf. KSTU / Krasnoyarsk, 1994. P. 43-48

73. Kovalev, I. Optimization Reliability Model for Telecommunications Software Systems / I. Kovalev , A. Privalov, Ju. Shipovalov. In: Modelling, Measurement and Control. - AMSE Periodicals, Vol.4-5, 2000. - P. 47-52

74. Kovalev, I. Software engineering of spacecraft control technological cycles / In: • "Modelling, Measurement and Control, B". Vol.56, №3. -AMSE PRESS, 1994.-P. 45-49

75. Kovalev, I.V. Fault-tolerant software architecture creation model based on reliability evaluation / I.V. Kovalev, R.V.Younoussov; Advanced in Modeling & Analysis, vol. 48, № 3-4. Journal of AMSE Periodicals,2002, P.31-43

76. Levendel, Y. Reliability analysis of large software systems: Defect data modeling / IEEE Trans. Software Engineering, 1990.-Vol. 16.-P. 141-152

77. Liestman, A. Fault-Tolerant Scheduling Problem/ A. Liestman, R.-H. Campbell. IEEE Trans, on Software Engineering, 1986. - Vol. SE-12. - P. 1089-1095

78. Lyu, M.R. Handbook of Software Reliability Engineering / Edited by Michael R. Lyu Published by IEEE Computer Society Press and McGraw-Hill Book Company, 1996, 819 p

79. Lyu, M.R. Software Fault Tolerance / Edited by Michael R. Lyu Published by John Wiley & Sons Ltd, 1996

80. McFarlan, F.W. Portfolio approach to information systems / Harvard Business Rev. 59.-P. 142-150

81. Microsoft Business Solution Axapta. Axapta developers best practice handbook/Microsoft Business Solution, 2003. http://www.msbs.ru

82. Microsoft Business Solution Axapta. Axapta developers guide /Microsoft Business Solution, 2003. http://www.msbs.ru

83. Microsoft Business Solution Axapta. MorphX Integration master /Microsoft Business Solution, 2003. http://www.msbs.ru

84. Microsoft Business Solution Axapta. X++ Advanced master/Microsoft Business Solution, 2003. http://www.msbs.ru

85. Microsoft Business Solution Axapta. Administration users guide /Microsoft Business Solution, 2003. http://www.msbs.ru

86. Muralidhar, K. Using the analytic hierarchy process for information system project selection / K. Muralidhar, R. Santhanam, R. Wilson. -Information Mgmt 18, 1990. P. 87-95

87. Oracle Education. Introduction to Oracle: SQL & PL/SQL , Volume 1: Students Guide, Production 1.1. 2000

88. Oracle Education. Introduction to Oracle: SQL & PL/SQL , Volume 2: Students Guide, Production 1.1. 2000

89. Oracle University. Enterprize DBA Part 1: Perfomance and tunning . Volume 1: Students Guide, Production 1.0. 2000

90. Oracle University. Enterprize DBA Part 2: Perfomance and tunning . Volume 2: Students Guide, Production 1.0. 2000

91. Pai, G.J. Enhancing Software Reliability Estimation Using Bayaesan Network and Fault Trees / G.J. Pai, J.B. Dugan; FastAbstract ISSRE and Chillarege Corp. Copyright 2001

92. Rosenberg, L. Software Metrics and Reliability / L. Rosenberg, T. Hammer, J. Shaw; Software reliability engineering was presented at the 9-th International Symposium, "Best Paper" Award, November, 1998

93. Shooman, M.L. Software Reliability for Use During Proposal and Early Design Stages / FastAbstract ISSRE Copyright 1999

94. Silayeva, Т. K.-E. An Innovative Method for Program Reliability Evaluation / T. Silayeva, K.-E. Grosspietsch. Euromicro '95. Como (Italy), September 1995

95. Tai, A. Performability Enhancement of Fault-Tolerant Software / A. Tai, J. Meyer, A. Avizienis. IEEE Trans, on Reliability, 1993. - Vol. 42, No. 2 . -P. 227-237

96. Wattanapongsakom, N. Reliability Optimization for Software Systems with Multiple Applications./ FastAbstract ISSRE and Chillarege Corp. Copyright 2001

97. Whitehouse, G. E. Applied operations research: a survey, Wiley, Inc. /G. E. Whitehouse, B. L. Wechsler. New York, 1976. - 424 p

98. Xie, M. Regression Goodness-Of-fit Test for Software Reliability Model. Validation / M. Xie, B.Yang; FastAbstract ISSRE Copyright 2000

99. Zahedi, F. Software reliability allocation based on structure, utility, price, and cost / F. Zahedi, N. Ashrafi. IEEE Trans, on Software Engineering, April 1991. - Vol. 17, No. 4. - P. 345-356сШиК+

100. Результаты диссертационной работы Юнусова Ренета Викторовича были использованы, при создании новых решений (модулей) системы Microsoft Business Solutions Axapta, в рамках плана работ Центра решений за 2003 год.

101. Утверждаю" Генеральный директор Центра решений Microsoft Business Solutions ^/^^iiiiK рас н о я p с ко м краек

102. Ведущий аналитик Центра решений Microsoft Business Solutions . в Красноярском крае ООО «ЭТиК+»1. С.А. Честнов05» ноября 2003 г.