Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Комплексов программ

Читайте также:
  1. A)& Қолданушыға қажет жұмыстарды атқаруға мүмкіндік беретін программа
  2. Access программасын қалай шақыруға болады?
  3. C. Желiлiк компоненттердi автоматтандыратын программа
  4. I. Закон Костромской области о прогнозировании, программе социально-экономического развития Костромской области и областных целевых программах
  5. I. Программа лекционного курса
  6. I. Программа экзамена
  7. I. Разработка программы мониторинга
  8. I. Системные программы.
  9. Ii. Расчет заработной платы программиста
  10. II. Требования к результатам освоения основной образовательной программы начального общего образования

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

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

• выявление и исследование основных факторов, определяющих характеристики надежности сложных программных комплексов;

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

• исследование ошибок в программах, динамики их изменения при отладке и модернизации и влияния на надежность;

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

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

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

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

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

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

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

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

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

• нарушения нормального хода вычислительного процесса.

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

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

Рис. 1.2. Пространство исходных данных:

область предполагаемых данных - штриховка "///",

область тестовых данных - штриховка "",

область реализуемых данных — штриховка "\\\"

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

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

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

требителем информации;

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

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

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

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

При нормальном темпе решения задачи управления t1 (рис. 1.3) отклоне-ния объекта от траектории, рассчитываемой комплексом программ, находятся в допустимых пределах. Для любого объекта существует допустимое время отсутствия управляющих воздействий tД1, при котором достигается предель-ное искажение δ1 выходных данных. Для менее инерционного объекта, допус-тимое искажение δ1 — δ2 достигается за меньшее время tД2 < tД1; т.е. временная зона перерыва выдачи информации и нарушения работоспособности (зона сбоя) тем шире, чем инерционнее объект. Таким образом, установив пороговое зна-чение δ ошибок обработанных данных, можно определить интервал времени tД состояния комплекса программ, который разделяет события сбоя и отказа. В некоторых типах систем такое пороговое значение времени определяется функ-циональными характеристиками решаемых задач, однако определяющими яв-ляются динамические характеристики источников и потребителей информации. Для иллюстрации взаимосвязей между перечисленными параметрами в табл. 1.1 приведены временные характеристики основных типов систем управления и обработки информации по времени решения задач, необходимому времени от-клика и среднему интервалу времени между однотипными сообщениями. Там же дана оценка порогового времени восстановления работоспособного состоя-ния, при превышении которого следует фиксировать отказ системы. Это время соответствует времени решения задач и пропорционально необходимому вре-мени отклика при обработке сообщений от абонента.

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

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

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

- появление на входе программы данных, попадающих в непроверенные при тестировании и испытаниях области III или IV (вероятности РIII и РIV);

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

- длительность восстановления после возникновения ситуации отказа, превышает пороговое значение (вероятность Рв).

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

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

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

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

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

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

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

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

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

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

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

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

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




Дата добавления: 2015-05-05; просмотров: 10 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Проблемы надежности программного обеспечения| Типы отказов программного обеспечения

lektsii.net - Лекции.Нет - 2014-2024 год. (0.011 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав