Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
129
Добавлен:
09.05.2015
Размер:
122.88 Кб
Скачать

11.4. Надежность функционирования комплексов программ

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

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

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

  • нарушения кодов записи программ в памяти команд;

  • стирания или искажения данных в оперативной или долговременной памяти ЭВМ;

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

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

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

  • инерционности объекта, являющегося источником или потребителем информации;

  • среднего темпа или периодичности решения задач по обработке информации для данного объекта;

  • допустимой длительности ожидания отклика или времени реакции ЭВМ от момента поступления исходных данных до момента выдачи обработанных результатов.

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

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

  1. попадания исходных данных в область, заданную требованиями спецификации, но не проверенную при отладке и испытаниях, — вероятности РII и PIV;

  2. проявления ошибки в программе при обработке таких данных — вероятность Р0.

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

Надежная программа прежде всего должна обеспечивать низкую вероятность отказа в процессе реального функционирования. Быстрое реагирование на искажения программ, данных или вычислительного процесса и восстановление работоспособности за время меньшее, чем порог между сбоем и отказом, позволяют обеспечить высокую надежность программы. При этом неправильная программа может функционировать в принципе абсолютно надежно. Действительно, если при каждом появлении реальных исходных данных (3 на рис. 4.9), попадающих в области II и IV и стимулирующих неправильные результаты, они не приводят к событиям, соответствующим отказу, то такая программа функционирует безотказно и надежно, хотя и не всегда правильно.

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

  • появление на входе программы реальных данных, попадающих в непроверенные при тестировании и испытаниях области III или IV, — вероятности РIII и PIV;;

  • проявление ошибки при обработке этих данных, достаточной для вызова отказовой ситуации, — вероятность Р0;

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

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

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

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

  • диагностировать обнаруженные искажения;

  • выбирать методы и средства оперативного восстановления (рестарта);

  • реализовывать оперативное восстановление нормальной работоспособности;

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

Реализация средств с такими функциями осуществляется за счет .введения избыточности в программы, данные и процесс функционирования комплекса программ:

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

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

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

Перечисленные виды избыточности используются совместно и требуют некоторых ресурсов ЭВМ по объему оперативной памяти, памяти команд и производительности. Доля этих ресурсов обычно находится в пределах 5...10 % от максимального значения, однако при таких даже относительно небольших затратах надежность функционирования (наработка на отказ) программ возрастает на один-два порядка.

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

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

Соседние файлы в папке разработка и стандартизация