Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Принципы и методы обеспечения надежности




 

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

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

Предупреждение ошибок. К этой группе относятся принципы и ме­тоды, цель которых – не допустить появления ошибок в готовой про­грамме. Большинство методов концентрируется на отдельных процессах перевода и направлено на предупреждение ошибок в этих процессах. Их можно разбить на следующие категории:

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

– методы достижения большей точности при переводе;

– методы улучшения обмена информацией;

– методы немедленного обнаружения и устранения ошибок, которые следует обнаруживать на каждом шаге перевода, не откладывая это до тес­тирования готовой программы.

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

Обнаружение ошибок. Если предполагать, что в программном обес­печении ошибки все-таки будут, то лучшая стратегия – включить средства обнаружения ошибок в само ПО. Такие методы часто применя­ются в аппа­ратуре. Это коды, обнаруживающие ошибки (см. подразд. 4.3.8).

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

Исправление ошибок. Следующий шаг – исправление ошибок. По­сле того как ошибка обнаружена, либо она сама, либо ее последствия должны быть исправлены программным обеспечением

При проектировании систем аппаратурного обеспечения такой метод оказался плодотворным. При резервировании замещением, как показано в подразд. 2.2, некоторые устройства способны обнаружить неисправные компоненты и перейти к использованию идентичных запасов. Аналогич­ные методы неприменимы к программному обеспечению вследствие глу­боких внутренних различий между отказами аппаратуры и ошибками в программах. Если некоторый программный модуль содержит ошибку, идентичные «запасные» модули будут содержать ту же ошибку.

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

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

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

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

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





Поделиться с друзьями:


Дата добавления: 2015-05-08; Мы поможем в написании ваших работ!; просмотров: 2325 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Есть только один способ избежать критики: ничего не делайте, ничего не говорите и будьте никем. © Аристотель
==> читать все изречения...

2221 - | 2174 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.