автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Математическое и программное обеспечение повышения живучести управляющих модулей систем реального времени

кандидата технических наук
Ширяев, Максим Владимирович
город
Москва
год
2011
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Математическое и программное обеспечение повышения живучести управляющих модулей систем реального времени»

Автореферат диссертации по теме "Математическое и программное обеспечение повышения живучести управляющих модулей систем реального времени"

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

УДК 004.4

ШИРЯЕВ Максим Владимирович

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

Специальность 05.13.11 - «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей»

АВТОРЕФЕРАТ

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

2 6 МАЙ 2011

Москва-2011

4847977

Диссертация выполнена на кафедре «Персональные компьютерные системы» (ИТ-4) Московский Государственный Университет Приборостроения и Информатики (МГУШ-

Научный руководитель: кандидат технических наук, профессор

Рощин Алексей Васильевич

Официальные оппоненты: доктор технических наук, профессор

Дорри Манучер Хабибуллаевич

кандидат технических наук, доцент Рязанова Наталья Юрьевна

Ведущая организация: ОАО «Концерн «Моринформсистема -

«Агат» (г. Москва)

Защита диссертации состоится «14» июня 2011 г. в 13 часов на заседании диссертации ного Совета № Д212.119.02 Московского Государственного Университета Приборостр ния и Информатики по адресу: 107996, г. Москва, ул. Стромынка, д. 20.

С диссертацией можно ознакомиться в библиотеке МГУПИ.

Автореферат разослан «10» мая 20 И г.

Ученый секретарь диссертационного Совета Д212.119.02 кандидат технических наук, профессор

Зеленко Г.В.

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

Актуальность работы.

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

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

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

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

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

- повышение надежности технических элементов ВС;

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

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

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

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

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

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

з

Эти обстоятельства определяют актуальность данной работы.

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

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

1. Проведен анализ методов повышения надежности работы ЦПО путем добавления программной избыточности.

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

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

4. Создана методика управления целевыми программными модулями.

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

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

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

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

Методы исследования.

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

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

1. Модель состояний ЦПО при использовании метода управления с критериальным подключением модулей.

2. Методика управления целевыми программными модулями.

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

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

- модель состояний ЦПО для разработанного метода управления;

- методика выбора резервных программных модулей;

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

Практическая значимость работы определяется:

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

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

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

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

Метод повышения надежности разрабатываемых и модернизируемых комплексов целевого программного обеспечения па основе введения структурной избыточности, модель оценки надежности функционирования комплекса ЦПО, разработанного на основе данного метода, методика выбора программных модулей, рекомендуемых для введения избыточности были использованы в ОАО «Концерн «Моринформсимтема - «Агат» (г. Москва) при разработке и отладке функционального программного обеспечения в ходе ОКР «Линкор» (акт от «20» января 2010 г.).

Методика выбора программных модулей, рекомендованных для добавления программной избыточности и модель состояний ЦПО при использовании метода повышения надежности путем добавления программной избыточности были использованы в ЦНИИ «Курс» (г. Москва) при разработке комплекса моделирования внешней обстановки в ходе ОКР «Олимп» (акт от «26» января 2010 г.).

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

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

- «Вычислительные системы реального времени и цифровые устройства». ОАО «Концерн «Моринформсистема - Агат». Москва, 2009 г.

- «VII молодежная научно-техническая конференция «Взгляд в будущее - 2009». ОАО «ЦКБ МТ «Рубин». Санкт-Петербург, 2009 г.

- «Вычислительные системы реального времени и цифровые устройства». ОАО «Концерн «Моринформсистема - Агат». Москва, 2010 г.

- «VIII молодежная научно-техническая конференция «Взгляд в будущее - 2010». ОАО «ЦКБ МТ «Рубин». Санкт-Петербург, 2010 г.

- «II Российская научно-практическая конференция судостроителей «Единение науки и практики». ЦНИИ им. акад. А.Н. Крылова. Санкт-Петербург, 2010 г.

- «XVI Макеевские чтения». ОАО «Концерн «Моринформсистема - Агат». Москва, 2010 г.

Публикации.

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

Структура и объем диссертационной работы.

Диссертация состоит из введения, 3 глав, заключения и списка литературы из 115 наименований. Работа изложена на 128 страницах и содержит 44 рисунка и 10 таблиц.

СОДЕРЖАНИЕ РАБОТЫ Во введении обоснована актуальность темы диссертационной работы, сформулированы цель и задачи исследования, научная новизна и практическая ценность полученных результатов, приведены сведения об использовании, реализации и апробации результатов работы.

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

Целевое программное обеспечение вычислительных систем реального времени имеет следующие основные особенности:

- решение задач в реальном времени;

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

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

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

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

А61 А62 АбЗ Аб| Аб(+1 Абк

Ц1

| Д2 |-

Рисунок 1 - Организация взаимодействия компонентов системы прерываний

Обозначение на рисунке: ПОП - программа обработки прерывания; ПГП - приоритетная группа программ; Д1 - диспетчер инициализации ПГП; Д2 - диспетчер гашения заявки и восстановления начального состояния выбранной ПГП.

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

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

- относительный резерв времени реализации функции Л/^;

- относительный резерв объема занимаемого программой адресного пространства памяти ЬУПМ и объема памяти промежуточных данных программного модуля ДУпд. Анализ процесса разработки ЦПО свидетельствует о том, что создание высокопроизводительного и надежного программного обеспечения для вычислительных систем реального времени является трудоемким процессом, подчас более продолжительным, чем разработка и изготовление самой аппаратуры. В свою очередь статистические данные позволяют определить, что временные и экономические затраты на локализацию и исправление ошибок, внесенных в процессе разработки многократно возрастают в течение этапов жизненного цикла программного обеспечения (рисунок 2).

г

5 5 го 1

з: X Ф с£ ..............1....5............ № с: 11 ш

ш О. * 2 О. £ 0> сс Г" (О го

ё .............Д..1............ | ГО О * Ш с: с

X ж О О- 1 /т>

1— н ■

и в I

_____— ■ • '1 я й ■ 1

Этапы жизненного цикла программы

№ Немодифицирйеяиное ЦПО ■ ЦПО содержащее избыточное«.

Рисунок 2 - Зависимость затрат на корректировку ошибок от этапов жизненного цикла

ЦПО

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

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

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

- разработка усовершенствованного процесса проектирования ЦПО;

- разработка обобщенной структуры метода повышения надежности работы ЦПО путем добавления программной избыточности;

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

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

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

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

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

Предлагаемый метод введения программной избыточности основан на методике использования явных признаков сбоя программного модуля (рисунок 3).

Основные :Г цеп^ы? мод г

модули

Рисунок 3 - Усовершенствованная схема управления целевыми программными модулями

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

Для проведения оценки введем следующие допущения:

- время выполнения целевых модулей априорно одинаково;

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

Использование предложенного метода приводит к усложнению временной последовательности функционирования ЦПО (рисунок 4) вследствие вероятностного характера выполнения резервных программных модулей в условиях ограниченных ресурсов вычислительной системы. Значение среднего прироста времени реализации функции:

4*/М = 1<Л.М- 1)Ч+'„6) (1)

1=1

где: р0„,(А/,_,) - вероятность выполнения /'-го программного модуля, N - количество резервных программных модулей, I, — время функционирования /-го резервного модуля, 1еыд-время выбора достоверного решения.

Рисунок 4 - Временная последовательность функционирования ЦПО при использовании методики критериального подключения программных модулей

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

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

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

На первом этапе выполняется построение матрицы Л наличия резерва отведенных ресурсов для всех модулей ЦПО. Значения элементов матрицы соответствуют относительному наличию временного ресурса ¿к/:. относительному наличию ресурса объема занимаемого программой адресного пространства & У,ш„ относительному наличию ресурса объема промежуточных данных программного модуля <5 максимальной производи-

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

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

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

Элементы матрицы V, рассчитываются по следующим формулам (2-5):

уи = тш{

2л(1-гД

1 " Г2, )

2л(1-гм)

ь

(2)

Ч; 1 % п

Ь-и

(3)

О, г. >-

1-Г,:

I

(4)

0,г1(=0 [■¡~"]>ги > О

(5)

где: у^ - элементы матрицы соответствия, гу- элементы матрицы наличия ресурсов системы Я, ]=[1..4], ¡=[1..М], п- целое, положительное число.

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

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

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

¿К.

Ут

(6)

где Уш - объем 1-го программного модуля,

N..

от к! * усгир/ >

(7)

где: - количество отказов ¿-го программного модуля, а Л'^ - количество устраненных отказов /-го программного модуля.

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

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

^неуст/л ^Котиксн. ' (8)

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

На данный момент возможен расчет этого показателя для уже существующих средств автоматизации разработки программного обеспечения (DISKOP, Tomado, САРПО «Сайвер») (рисунок 5).

WZ.

0,006 f

j

0,005 т 0,004 г 0,003 4 0,002 0,001

Рисунок 5 - Зависимость удельного количества устраняемых ошибок на единицу объема, от используемых программно-инструментальных средств разработки и отладки целевого программного обеспечения

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

При построении модели состояний ЦПО были введены следующие допущения:

- при построении ЦПО будет применено однократное резервирование (№ = 1);

- методикой использования резервных программных модулей принята дисциплина замены модуля (основной ПМ <-» ПМ резервный);

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

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

- интенсивности сбоев в основных и резервных модулях являются независимыми значениями;

- значения элементов таблиц соответствия К также усреднены и одинаковы для всех программных модулей (имеется два значения: Кор - соответствие областей сбоя основного программного модуля резервному и Кро - соответствие областей сбоя резервного программного модуля основному);

- зарезервированы не все программные модули ЦПО;

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

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

За работоспособные состояния ЦПО принимается совокупность состояний Е+ с 0 по Зв, за неработоспособные - Зэ+1, Зв+2 (совокупность состояний Е-).

Рисунок 6 - Граф состояний ЦПО для метода повышения надежности путем добавления программной избыточности с критериальным подключением модулей

На рисунке: 0 - полная работоспособность комплекса; Г, е - сбой в г'-м количестве основных модулей, выполнение функции резервными модулями; б+ 1,25 - использование резервного программного модуля после сбоя в основном; 25 + 1,3$ - использование основного программного модуля после сбоя в резервном; 35+1 - сбой в резервном модуле, неработоспособность системы, восстановление; Зэ+2 - сбой в нерезервированном модуле, неработоспособность комплекса, восстановление; 5 - количество зарезервированных модулей; т - количество незарезервированных модулей; X - интенсивность сбоев в основном модуле; /г - интенсивность сбоев в резервном модуле; ¡5 - интенсивность сбоев в незарезервированном модуле; а - интенсивность восстановления системы; Ког - соответствие областей сбоя основного модуля резервному; Кра - соответствие областей сбоя резервного модуля основному.

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

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

При рассмотрении данного графа получена следующая система уравнений Колмогорова:

о = (Р з,+1 + Рг,*г)а + p2.«i(l- к рс)~ + т/3)

О = />.♦,(!-£,,)+ />2. + 1(1- + m/} + fi)

О = Р, + 2(1- рг„,(\- К^)- Pi((s- 2)Л + тр + 2М)

О = /4,(1- К*)- РЛт/3 + sfj) О = p„sÀ -О = - р„2

0 = р,-А - Pu О = РФ - Р О = рг1ц - pl!tl

О = p,Sfi - р„ 21

0 = S Pj- +1°

f (io)

0 = Кр- È Pi + mP<L Pi - Рг, + га j = 2 j +1 > = 0

Система уравнений (10) имеет решение, однако вывод аналитической зависимости осложнен отсутствием данных об общем количестве и количестве резервируемых программных модулей.

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

В процессе проведения эксперимента были выполнены следующие работы:

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

- проведено тестирование моделей ЦПО;

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

Помимо этого была реализована методика добавления избыточности в целевое программное обеспечение, состоящая из четырех этапов:

- на первом этапе разрабатывались N версий четырех различных программных модулей, и на основе различных методов добавления программной избыточности разрабатывались модели ЦПО;

- на втором этапе проводилось тестирование моделей ЦПО, с использованием одинаковых наборов входных данных;

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

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

- реализация методики локализации последствий итерационного сбоя по явным признакам;

- реализация методики использования резервных программных модулей с их заменой. Для проведения эксперимента использовались полунатурные модели, представляющие собой набор основных (ПМ1) и резервных программных модулей (ПМ2, ПМЗ), модуль счетчика времени (МВ), функционирующие под управлением диспетчеров Д1, Д2 (рисунок 7). При функционировании данных моделей Диспетчер 2 реализует выполнение методики локализации последствий сбоя, а Диспетчер 1 - методику использования резервных программных модулей.

Рисунок 7 - Используемые модели ЦПО, реализующие подходы к добавлению программной избыточности: а) Сверено го программирования, контрольных функций, . б) дуального программирования, критериального подключения модулей

Расчет вероятности устранения сбоя 1-й методикой локализации последствий итерационного сбоя производился по следующей формуле:

N...

N.

(И)

где Ns - количество проведенных экспериментов; - количество устраненных сбоев ву-м эксперименте для ¡-й методики локализации последствий профаммной ошибки; Nl jl - количество ложных сбоев в у'-м эксперименте для г-й методики локализации последствий профаммной ошибки; ЛГ^.,. - количество пропущенных сбоев в _/-м эксперименте для 1-й методики локализации последствий профаммной ошибки.

Вероятность ложного сбоя рассчитывалась по формуле:

■V, н

(12)

ы,

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

N

(13)

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

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

Сравнение производилось по следующей формуле:

= (14)

где Рли) - вероятность безотказной работы ЦПО, создаваемого с использованием предлагаемого метода, при бесконечном увеличении количества вызовов профаммных моделей, а Р/М{кп - вероятность безотказной работы ЦПО, создаваемого без использования предлагаемого метода, при бесконечном увеличении количества вызовов профаммных моделей.

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

На основе анализа процесса функционирования ЦПО, разработан следующий фаф состояний (рисунок 8).

При рассмотрении данного фафа получена следующая система уравнений Колмогорова:

[0 = (р^рг)а-ра(^ + М

Ь = р„Л$-р,а (15)

[0 = р0/3т-р1а

Рисунок 8 - Граф состояний ЦПО без применения метода повышения надежности путем добавления программной избыточности

На рисунке: 0 - полная работоспособность ЦПО; 1 - сбой в основном модуле, неработоспособность системы, восстановление; 2 - сбой в нерезервированном модуле, неработоспособность ЦПО, восстановление. Численные значения: в — количество основных модулей; т - количество незарезервированных модулей; X - интенсивность сбоев в основном модуле; р - интенсивность сбоев в незарезервированном модуле; а - интенсивность восстановления системы.

Заменив первое уравнение на нормированное, решим систему (15).

Выразим все значения вероятностей через р0:

р0А?

-; (16)

а

(П)

а

где:Ро,РьР2~ вероятности нахождения системы в соответствующих областях.

Путем подстановки полученных результатов в нормированное уравнение получим значение вероятности полной работоспособности комплекса ЦПО р0:

Д> =-т—Г- О»)

а + Ля- ¡Зт

Следовательно, вероятность безотказной работы ЦПО без использования способа повышения надежности путем добавления программной избыточности равна:

/>&,<»«,) = Ро='-Р|-Р;= ■ О9)

а + лз + рт

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

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

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

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

&тг= Л'-^+Ь (20)

N

где: N - общее количество модулей ЦПО, = ~ ~ коэффициент избыточности комплекса, - количество дублированных программных модулей.

Рисунок 9 - Зависимость объема ЦПО от характеристик метода с критериальным подключением программных модулей

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

8УЩ = 1 = const. (21)

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

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

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

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

размеру ¿-и области _, однако, так как истинные размеры этих областей обычно неиз-

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

Ж.

мт

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

вающих сбои /-го иу'-го программных модулей, полученные при тестировании; Л'71к. - размер области входных данных, вызывающих сбой 1-го программного модуля при тестировании;^,. - полный размер области входных данных;^ - размер области тестирования, а Nт¡,¡l - размер области входных данных, вызывающих сбои 1-го программного модуля, устраненные при тестировании.

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

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

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

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

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

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

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

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

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

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

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

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

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

5. Обоснованы показатели влияния различных подходов к добавлению программной избыточности на надежность ЦПО:

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

- вероятность возникновения ложного сбоя программного модуля P¡,

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

- вероятность безотказной работы ЦПО;

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

- средний прирост времени реализации функции Atf;

- средний прирост объема используемого программным модулем адресного пространства AV¡¡m ;

- средний прирост объема используемого промежуточными данными программного модуля адресного пространства ДУщ.

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

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

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

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

СПИСОК РАБОТ, ОПУБЛИКОВАННЫХ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Ширяев М.В. Основные этапы отладки программ в статическом режиме. // Морские интеллектуальные технологии: II научно-практическая конференция судостроителей. Единение науки и практики 2010. - Спб.: Изд-во "Научно-исследовательский центр "Морские интеллектуальные технологии", 2011, спецвыпуск. - 283с. - С.225-229.

2. Ширяев М.В., Харитонов М.В. Драйвер SCSI-адаптера BT408(sparc). // Свидетельство о государственной регистрации программы для ЭВМ №2011610713, 2011.

3. Ширяев М.В. Анализ способов повышения структурной избыточности ЦПО в системах реального времени. II Вычислительные системы реального времени и цифровые устройства. Научно-технический рецензируемый сборник /под ред. Е.С.Новикова -

М.: Изд-во "Концерн "Моринформсистема-Агат", 2009. - 158с. Табл.8, Ил.100, Биб-лиогр. 106 назв. - С.69-74.

4. Ширяев М.В. Методика выбора программных модулей, рекомендованных для реализации программной избыточности. // Вычислительные системы реального времени и цифровые устройства. Научно-технический рецензируемый сборник / под ред. Е.С.Новикова - М.: Изд-во "Концерн "Моринформсистема-Агат", 2010. - 135с. Табл.8,Ил.87,Библиогр. П2 назв. -С.110-П6.

5. Ширяев М.В. Определение критических по точности блоков программы. // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ :Межвузовский сборник научных трудов / Под редакцией д.т.н. профессора Михайлова Б.М. - М.: МГУПИ, 2010, выпуск 13. - 115с.: ил.1БВ^ 987-5-8068-0462-5.-С.110-113.

6. Ширяев М.В. Проблемы надежности функционального программного обеспечения в операционных системах реального времени. // Состояние, проблемы и перспективы разработки корабельных информационно-управляющих комплексов. / Сборник докладов научно-технической конференции. - М.: ОАО "Концерн "Моринформсистема-Агат", 2009. - 244с. - С.217-221.

7. Ширяев М.В. Процесс разработки ЦПО с учетом программной избыточности. // Состояние, проблемы и перспективы разработки корабельных информационно-управляющих комплексов. / Сборник докладов научно-технической конференции. -М.: ОАО "Концерн "Моринформсистема-Агат", 2010. - 340с. - С.293-297.

8. Ширяев М.В. Метод обеспечения достоверности и точности за счет введения избыточности в программы. // Материалы VIII молодежной научно-технической конференции «Взгляд в будущее - 2010» / СПб.: ОАО «ЦКБ МТ «Рубин», 2010. - 488с. -С.483-487.

Подписано в печать: 05.05.2011

Заказ № 5484 Тираж -100 экз. Печать трафаретная. Типография «11-й ФОРМАТ» ИНН 7726330900 115230, Москва, Варшавское ш., 36 (499)788-78-56 www.autoreferat.ru

Оглавление автор диссертации — кандидата технических наук Ширяев, Максим Владимирович

ПЕРЕЧЕНЬ УСЛОВНЫХ СОКРАЩЕНИЙ.

ВВЕДЕНИЕ.

1. АНАЛИЗ СОВРЕМЕННОГО СОСТОЯНИЯ ПУТЕЙ ОБЕСПЕЧЕНИЯ НАДЕЖНОСТИ РАБОТЫ ЦПО.

1.1. Структура ЦПО управляющих вычислительных систем реального времени, характеристики надежности ЦПО.

1.2. Обзор моделей оценки надежности ЦПО

1.3. Анализ существующих подходов к повышению надежности ЦПО.

1.4. Постановка научной задачи исследования.

1.5. Выводы

2. СОВЕРШЕНСТВОВАНИЕ МЕТОДА ПОВЫШЕНИЯ НАДЕЖНОСТИ РАБОТЫ ЦПО УПРАВЛЯЮЩЕЙ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ.

2.1. Совершенствование процесса разработки ЦПО путем добавления программной избыточности.

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

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

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

2.5. Выводы.

3. ЭКСПЕРИМЕНТАЛЬНЫЕ ИССЛЕДОВАНИЯ НАДЕЖНОСТИ

ЦПО УПРАВЛЯЮЩИХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

РЕАЛЬНОГО ВРЕМЕНИ.

3.1. Методика проведения экспериментальных исследований.

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

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

3.4. Предложения по повышению надежности работы ЦПО управляющих вычислительных систем реального времени.

3.5. Выводы.

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

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

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

Проблемы в достижении требуемой степени надежности программного обеспечения рассматривались в работах отечественных и зарубежных ученых Б. А. Головкина, А. В. Гордеева, В. В. Липаева, Г. Майерса и других авторов [27, 29, 60, 62, 64, 67, 68]. Основными направлениями в этих работах являются: изучение программных ошибок, выявление причин их вызывающих и последствия их проявления; рассмотрение различных моделей оценки надежности программного обеспечения; повышение надежности технических элементов ВС; классификация существующих способов повышения надежности программного обеспечения и их применение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Метод повышения надежности разрабатываемых и модернизируемых комплексов целевого программного обеспечения на основе внесения структурной избыточности, модель оценки надежности функционирования комплекса целевого программного обеспечения, разработанного на основе данного метода и методика выбора программных модулей, рекомендованных для введения избыточности были реализованы в ОАО «Концерн «Морин-формсистема - Агат» (г. Москва) при проведении исследований в ОКР «Линкор» и проведении отладки целевого программного обеспечения модулей МСВ/С (акт от 17 января 2011 г.).

Метод повышения надежности разрабатываемых и модернизируемых комплексов целевого программного обеспечения на основе внесения структурной избыточности и методика выбора программных модулей, рекомендованных для введения избыточности были внедрены в ОАО «ЦНИИ «Курс» г. Москва) при разработке программного обеспечения комплексов моделирования внешней обстановки (акт от 26 января 2011 г.).

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

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

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

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

Апробация работы. Основные научные положения и результаты работы докладывались и получили одобрение на VII и VIII молодежных научно-технических конференциях «Взгляд в будущее - 2009» и «Взгляд в будущее -2010» (г. Санкт-Петербург, 2009 г. и 2010 г.), на научно-технической конференции «XVT Макеевские чтения» (г. Москва, 2010 г.), на научно-технических конференциях «Состояние, проблемы и перспективы создания корабельных информационно-управляющих комплексов» (г. Москва, 2009 г. и 2010 г.), на II российской научно-практической конференции судостроителей «Единение науки и практики 2010» (г. Москва, 2010 г.). Они опубликованы в 8 работах (7 статьях / в том числе в 1 статье, опубликованной в ведущем рецензируемом научном журнале в соответствии с перечнем ВАК Министерства образования и науки РФ), в 1 свидетельстве о государственной регистрации программ для ЭВМ в Роспатенте РФ.

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

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

3.5. Выводы

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

2. В качестве показателей оценки влияния различных методов добавления программной избыточности на надежность работы ЦПО были выбраны: вероятность устранения последствий отказа программного модуля Рш\ вероятность возникновения ложного отказа программного модуля / вероятность пропуска отказа программного модуля Ррг ; В качестве показателей характера влияния различных методов добавления программной избыточности на показатели эффективности использования целевым программным обеспечением ресурсов вычислительной системы были выбраны: средний прирост времени реализации функции ; средний прирост объема используемого программным модулем адресного пространства А¥пм; средний прирост объема адресного пространства используемого промежуточными данными программного модуля А Упд

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

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

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

5. Результаты экспериментальных исследований позволили сделать вывод о положительном эффекте от применения предлагаемого метода добавления программной избыточности. Применение данного метода позволило получить прирост степени безотказной работы ЦПО, равный 3-6 %.

6. Разработаны предложения по повышению надежности ЦПО на основе использования программной избыточности.

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

119

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

Применение данного метода при разработке нового и модернизации существующего ЦПО позволило повысить степень безотказной работы на 3-6 %.

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

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

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

6. Обоснованы: показатели влияния различных методов добавления программной избыточности на надежность работы ЦПО: вероятность устранения последствий отказа программного модуля вероятность возникновения ложного отказа программного модуля Р/.; вероятность пропуска отказа программного модуля Ррг ; показатель надежности ЦПО: вероятность безотказной работы ЦПО; эффективности использования ресурсов вычислительной системы при использовании метода повышения надежности путем добавления программной избыточности: средний прирост времени реализации функции ; средний прирост объема используемого программным модулем адресного пространства А Упм\ средний прирост объема используемого промежуточными данными программного модуля адресного пространства А¥пд.

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

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

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

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

Библиография Ширяев, Максим Владимирович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Ален Э. Типичные ошибки проектирования. Библиотека программиста. СПб., Питер, 2003. 224 с.

2. Архангельский Б.В. Черняховский В.В. Поиск устойчивых ошибок в программах. М., Радио и связь, 1989.78 с.

3. Байхельт Ф., Франкен П. Надежность и техническое обслуживание. Математический подход. М.: Радио и связь, 1988.

4. Барлоу Р., Прошан Ф. Математическая теория надежности / пер. с английского. М.: Советское радио, 1969.

5. Брауде Э. Технология разработки программного обеспечения СПб., Питер, 2004. 655 с.

6. Баутов А.Н. Оценка факторов качества программных продуктов методом регрессионного анализа. Программно-методическое обеспечение. М.: Синтег, 2001.

7. Бахвалов Н.С. Численные методы. М.: Наука, 1975.

8. Бахвалов Н.С., Жидков Н.П., Кобельков A.B. Численные методы. М., Лаборатория базовых знаний, 2000.

9. Безбородое Ю.М. Индивидуальная отладка программ. М.: Наука, 1992.

10. Бекишев А.Т., Мотузова Е.П., Чаусов А.Ю. Метод генерации входных данных при тестировании программ // Вопросы радиоэлектроники Сер. ЭВТ. Вып.2. — 2009.

11. Березин Н.С., Жидков Н.П. Методы вычислений. М.: Физматгиз, 1969.

12. Бибишев Д.Н., Парамонов Н.Б. Методы аналитического расчета вероятностных характеристик ациклических алгоритмов. // Вопросы судостроения, серия ВТ.-1983. вып.49. С.40-48.

13. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986.

14. Богачев К.Ю. Практикум на ЭВМ. Методы решения линейных систем и нахождения собственных значений. М., МГУ, 1998.

15. Боэм Б. и др. Характеристики качества программного обеспечения. М.: Мир, 1981.

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

17. Вентцель Е. С. Исследование операций. Задачи, примеры, методология. Учебник для вузов. М., Дрофа. 2004. 206 с.

18. Вержбицкий В.М. Основы численных методов. М.: Высшая школа, 2005.

19. Воеводин В.В. Вычислительные основы линейной алгебры. М.: Наука, 1977.

20. Воеводин В.В. Ошибки округления и устойчивость в прямых методах линейной алгебры. М., МГУ, 1969.

21. Вознесенский В. А. Статистические методы планирования эксперимента в технико-экономических исследованиях. М., Финансы и статистика, 1981. 263 с.

22. Вопросы оценки качества функционирования программного обеспечения вычислительных систем реального времени. Сб. научных трудов. Отв. Ред. H.H. Безруков. Киев, КНИГА, 1986.

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

24. Гаганов П.Г., Липаев В.В. Характеристики ошибок в процессе разработки комплексов программ. // Программирование.-1976. №2.

25. Гласс Р. Руководство по надежному программированию. М., Финансы и статистика, 1982.256 с.

26. Головкин Б. А. Надежное программное обеспечение//Зарубежная радиоэлектроника, 1978, N 12, С. 3-57.

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

28. Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение. СПб., Питер, 2002. 451 с.

29. ГОСТ 27.002-89. Надёжность в технике. Основные понятия. Термины и определения. М., Издательство стандартов, 1989. 36 с.

30. ГОСТ 27.410-87 Надежность в технике. Методы контроля показателей надежности и планы контрольных испытаний на надежность. М., Издательство стандартов, 1987. 18 с.

31. ГОСТ 28195-98. Оценка качества программных продуктов. Общие положения. М., Издательство стандартов, 1989.38 с.

32. Гмурман В.Е. Теория вероятностей и математическая статистика. М.: Высшая школа, 2004.

33. Гнеденко Б.В., Беляев Ю.К., Соловьев А.Д. Математические методы в теории надежности. 2-е изд., переработанное и дополненное. М.: Наука, 1987.

34. Градштейн И.С., Рыжик И.М. Таблицы интегралов, сумм, рядов и произведений. М.: Наука, 1971.

35. Демидович Б.П., Марон И.А. Основы вычислительной математики. М.: Высшая школа, 1970.

36. Добронец Б.С. Интервальная математика. Красноярск, Красноярский гос.ун-т, 2004.

37. Долбак A.B., Новиков Е.С., Парамонов Н.Б. Оценка инструментальной погрешности линейных вычислительных программ специализированных ЭВМ. // Вопросы судостроения, серия ВТ.-1984. вьш.51. С.41-49.

38. Дружинин В. Г. Надёжность автоматизированных систем. М., Энергоатомиздат, 1986. 536 с.

39. Желнов Ю.А. Точностные характеристики управляющих вычислительных машин. М.: Энергоатомиздат, 1983.

40. Ивченко Г.И., Медведев Ю.И. Математическая статистика. М.: Высшая школа, 1984.

41. Идье В., Драйярд Д., Джеймс Ф. Статистические методы в экспериментальной физике. / Пер. с англ. М.: Атомиздат, 1976.

42. Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем. М., Высшая школа, 1989. 216 с.

43. Каган Б. М., Мкртумян И.Б. Основы эксплуатации ЭВМ: Учебное пособие дл вузов. — М., Энергоатомиздат, 1988.

44. Калмыков С.А., Шокин Ю.И., Юлдашев 3-Х. Методы интервального анализа. Новосибирск: Наука, 1986.

45. Кармайкл Э., Хейвуд Д. Быстрая и качественная разработка программного обеспечения. Вильяме, 2003.

46. Кахнер Д., Моулер К., Нэш С. Численные методы и программное обеспечение. М.: Мир, 2001.

47. Клячко JI.M., Острецов Г.Э. Проектирование высоконадежных систем автоматического управления движением корабля. М.: ФИЗМАТЛИТ, 2010.

48. Коган Б. И. Экспериментальные исследования программ. М., Наука, 1988. 184 с.

49. Козлов А. О. Методическое обеспечение оценки надежности программного обеспечения информационных систем образовательного назначения: Дис. . канд. техн. Наук. М., Российская академия образования институт информатизации образования, 2004. 128 с.

50. Колмогоров А.Н. Предельные распределения сумм независимых случайных величин. M.,-JL: Наука, 1949.

51. Колмогоров А.Н., Фомин C.B. Элементы теории функций и функционального анализа. М.: Наука, 1968.

52. Кондратенков В.А. и др. Вопросы теории надежности технических систем. Смоленск: Русич, 1988.

53. Константиновский В. М. Вычислительные устройства и программное обеспечение радиолокационных систем. Монография. М., НИЭМИ. 2003.250 с.

54. Константиновский В. М., Лопашинов П. М., Шалин С. А. Средства разработки и отладки программного обеспечения для систем, работающих в режиме реального времени. ВСРЭ, серия РЛТ, 2000, вып. 1, с. 7-21.

55. Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. М.: Наука, 1973.

56. Котляров В. П., Самочадин А. В. Программное обеспечение микропроцессорных систем. М., Машиностроение, 1984.270 с.

57. Крамер Г. Математические методы статистики. М.: Мир, 1975.

58. Кулиш У., Рац Д., Хаммер Р., Хокс М. Достоверные вычисления. Москва-Ижевск: R&C Dynamics PXD.2006.

59. Липаев В. В. Качество программного обеспечения. М., Финансы и статистка, 1993. 262 с.

60. Липаев В.В. Моделирование внешней среды для определения качества и надежности сложных программных средств. М.: Надежность.2003. №3.

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

62. Липаев В. В. Отладка сложных программ. М., Энергоатомиздат, 1993. 235 с.

63. Липаев В. В. Проектирование программных средств. — М.: Высш. шк., 1990.— 301 с.

64. Липаев В. В. Системное проектирование сложных программных средств для информационных систем. М., СИНТЕГ, 1999. 257 с.

65. Лисс В.А. Прогнозирование надежности и программного обеспечения сложных вычислительных систем на основе математических моделей. Сборник докладов Международной конференции по мягким вычислениям и измерениям — SCM. СПб., 2005.

66. Майерс Г. Искусство тестирования программ / пер. с англ. В.Ш. Кауфмана, М., Финансы и статистика, 1982.156 с.

67. Майерс Г. Надежность программного обеспечения/пер. с англ. В.Ш. Кауфмана, М., Мир, 1980.360 с.

68. Мартин Дж. Системный анализ передачи данных, т.1. М.: Мир, 1975.

69. Мусса Дж. Д. Измерение и обеспечение надежности программных средств//ТИИЭР. Т. 68. №9.1980. с. 113-128.

70. Надежность и эффективность в технике: Справочник. Методология, организация, терминология. М.: Машиностроение, 1986.

71. Налимов В.В., Чернова H.A. Статические методы планирования экстремальных экспериментов. М.: Наука, 1965.

72. Непейвода H.H. Стили и методы программирования. М., ИНТУИТ, 2005.

73. Никитин А. И. Общее программное обеспечение систем реального времени. Киев, Науково думка, 1980. 132 с.

74. Новиков Е. С. О методике анализа точности работы корабельных цифровых вычислительных систем//Вопросы кораблестроения. Серия: Вычислительная техника. 1984. N 31. С. 3-9.

75. Новиков Е.С. К вопросу об априорном анализе инструментальных ошибок корабельных цифровых вычислительных систем//Вопросы кораблестроения. Серия: Вычислительная техника. 1983. N 27. С. 26-31.

76. Новожепов Ю. В. Объектно-ориентированные технологии разработай сложных программных систем. М., ИЛУ РАН, 1996. 328 с.

77. Норенков И.П., Манычев В.П. Основы теории проектирования САПР. М.: Высшая школа, 1990.

78. Обзор системы кросс-разработки Tornado. М., НИИСИ РАН, 1996. 17 с.

79. Оре О. Графы и их применение. М.: Мир, 1965.

80. Орлов С.А. Технологии разработки программного обеспечения.2-ое издание. СПб.: Питер-пресс, 2003.

81. Ортега Дж., Рейнболт В. Итерационные методы решения систем нелинейных уравнений со многими неизвестными. Пер.с англ. М.: Наука, 1988.

82. Пальчуте Б.П., Юсупов P.M. Оценка надежности программного обеспечения. СПб.: Наука, 1994.

83. Половко A.M., Гуров С.В., Основы теории надежности. СПб.: БХВ-Петербург, 2006.

84. Полонников Р.И., Никандров A.B. Методы оценки показателей надежности ПО. — СПб., Политехника, 1992 — 76 с.

85. Пратт Т., Зелковиц М. Языки программирования: реализация и разработка. СПб., Питер, 2001. 375 с.

86. Рябенький B.C. Введение в вычислительную математику. М.: Физматлит, 2000.

87. Самарский A.A., Гулин A.B. Численные методы. М.: Наука, 1989.

88. Смирнов Ю. М., Воробьев Г. Н., Потапов Е. С., Сюзев В. В. Проектирование специализированных информационно-вычислительных систем. М.: Высшая школа, 1984. 146с.

89. Снапелев Ю.М., Старосельский В.А. Моделирование и управление в сложных системах. М.: Советское радио, 1984.

90. Соренков Э.И. и др. Точность вычислительных устройств и алгоритмов / под ред. Шаталова A.C. М.: Машиностроение, 1976.

91. Тейер Т., Лилов М., Нельсон Э. Надежность программного обеспечения. М., Мир, 1981. 323 с.

92. Уемов А. И. Системный подход и общая теория систем. М., Мысль, 1997. 607 с.

93. Фокс Дж. Программное обеспечение и его разработка. М., Мир, 1985.

94. Хетагуров Я. А., Новиков Е. С. Оценка эффективности одного способа защиты от не-выявленных ошибок в программе//Вопросы кораблестроения. Серия: Вычислительная техника. 1976. N 5. С. 117-124.

95. Холстед М. X. Начала науки о программах. М., Финансы и статистика, 1981. 128 с.

96. Хыоз Дж., Мичтом Дне. Структурный подход к программированию/Пер. с англ. М., Мир, 1980. 280 с.

97. Цилькер Б. Я., Орлов С. А. Организация ЭВМ и систем. СПб., Питер, 2004. 668 с.

98. Чаусов А.Ю. Аттестация качества функционального программного обеспечения по показателям надежности//МНТК "Взгляд в будущее-2010", Санкт-Петербург, 2010.

99. Черкесов Г. Н. Надежность аппаратно-программных комплексов. Учебное пособие. СПб., Питер, 2005. 479 с.

100. Черкесов Г. Н., Можаев A.C. Логико-вероятностные методы расчёта надёжности. М., Знание, 1989. 66 с.

101. Ширяев М.В. Основные этапы отладки программ в статическом режиме. // Морские интеллектуальные технологии, спецвыпуск, ЕНП 2010. Спб, 2011. — С.225-229.

102. Ширяев М.В. Метод обеспечения достоверности и точности за счет введения избыточности в программы. // Материалы VIII молодежной научно-технической конференции «Взгляд в будущее 2010» / СПб.: ОАО «ЦКБ МТ «Рубин», 2010. - 492с. - С.43-46.

103. Штернберг JI. Ф. Разработка и отладка программ. М., Радио и связь, 1984. 88 с.

104. Штрик А. А., Соловецкий JI. Г., Мессих И. Г. Структурное проектирование надежности программ встроенных ЭВМ. Л., Машиностроение, 1989. 296 с.

105. Шураков В. В. Надежность программного обеспечения систем обработки данных: учебник. М., Финансы и статистика, 1987. 272 с.

106. Янг С. Алгоритмические языки реального времени. Конструирование и разработка: Пер. с англ. М., Мир, 1985.400 с.

107. Fenies Steven J., Schiffman Robert L. Quality assurance of engineering software. "J. Techn. Conuc. ASCE. Proc. Amer. Soc. Civ. Eng.", v.105, 1979.

108. Moranda P. Prediction of software reliability during debugging. // Proc. 1975 Annu. Reliability and Maintainability Symposium. Washington: D. C., 1975.