Next: Design diversity Up: No Title Previous: Classification of software faults Далее в программе: Дизайн разнообразия Up: No Title Previous: Классификация сбоев программного обеспечения
Techniques for Fault Tolerance in Software Методы для обеспечения отказоустойчивости в программное обеспечение
Means to cope with the existence and manifestation of faults in software are divided into three main categories:
Средства, чтобы справиться с существованием и проявление неисправности в
программном обеспечении можно разделить на три основные категории:
- Fault avoidance/prevention: This include design methodologies which attempt to make software provably fault-free Неисправность избежании / Предупреждение: Это включает дизайн методологий, которые пытаются сделать программное обеспечение доказуемо безотказной
- Fault removal: These methods aim to remove faults after the development stage is completed. Устранения неисправностей: Эти методы направлены на устранение неисправностей после развития этап завершен. This is done by exhaustive and rigorous testing of the final product. Это делается путем исчерпывающего и тщательного тестирования конечного продукта.
- Fault tolerance:
This methods makes the assumption that the system has unavoidable and
undetectable faults and aims to make provisions for the system to
operate correctly even in the presence of faults. Неисправность толерантности:
Данный метод делает предположение, что система неизбежно и обнаружить
недостатки и стремится сделать положения, чтобы система работала
правильно, даже при наличии неисправностей.
Most Bohrbugs, which are deterministic and repeatable, can be removed through rigorous and extensive testing and debugging.
Большинство Bohrbugs, которые являются детерминированными и
повторяемые, могут быть удалены путем строгого и тщательного
тестирования и отладки. But,
as argued in the previous sections, no amount of testing can certify
software as fault-free, ie fault avoidance and fault removal cannot
ensure the absence of faults. Но, как утверждают в предыдущих
разделах, не объем тестирования может подтвердить программного
обеспечения безотказной, т.е. избежание неисправностей и устранения
неисправностей не может гарантировать отсутствие ошибок. Therefore,
any practical piece of software can be presumed to contain faults in
the operational phase and designers must deal with these faults if the
software failure has serious consequences. Таким образом, любая
практическая часть программного обеспечения, можно предположить,
содержать ошибки в оперативную фазу и дизайнерам приходится иметь дело с
этих недостатков, если сбоя в программном обеспечении имеет серьезные
последствия. The remaining faults in software after testing and debugging are usually Heisenbugs which eluded detection during the testing.
Остальные недостатки программного после тестирования и отладки, как
правило, Heisenbugs которая ускользает от обнаружения во время
тестирования. Hence, fault tolerance , is the only remaining hope to achieve dependable software. Таким образом, отказоустойчивость, является единственным оставшимся надеяться на достижение надежного программного обеспечения. Fault tolerance makes is possible for the software system to provide service even in the presence of faults. Отказоустойчивость делает это возможным для программного комплекса для предоставления услуг даже в присутствии неисправности. This means that an imminent failure needs to be prevented or recovered from. Это означает, что неизбежный провал должно быть предотвращено или оправился от. In
this paper, we will only discuss methods to deal with software in the
operational phase, ie, methods to provide fault tolerance. В
данной работе мы будем обсуждать только методы, чтобы иметь дело с
программным обеспечением в оперативную фазу, т. е. методы для
обеспечения отказоустойчивости. There are two strategies for software fault tolerance - error processing and fault treatment . Есть две стратегии для программного обеспечения отказоустойчивости - обработка ошибок и вины лечения. Error
processing aims to remove errors from the software state and can be
implemented by substituting an error-free state in place of the
erroneous state, called error recovery , or by compensating for the error by providing redundancy, called error compensation .
Ошибка обработки призван устранить ошибки программного обеспечения
государством и может быть реализован подставляя ошибок свободном
состоянии в место ошибочное состояние, называемое исправление ошибок, или компенсировать ошибки, обеспечивая резервирование, называется компенсации ошибки. Error recovery can be achieved by either forward or backward error recovery. Ошибка восстановления может быть достигнуто путем вперед или назад ошибок. The
second strategy, fault treatment, aims to prevent activation of faults
and so action is taken before the error creeps in. The two steps in this
strategy are fault diagnosis and fault passivation. Вторая
стратегия, вина лечения, направленный на предотвращение активации
неисправностей и так приняты меры, прежде чем ошибка ползет дюйма двух
шагов в этой стратегии диагностики отказов и неисправностей пассивации. Figure 2 shows this classification. Рис 2 показывает эту классификацию. The
nature of faults which typically occur in software has to be thoroughly
understood in order to apply these strategies effectively.
Характер неисправностей, которые обычно происходят в программное
обеспечение должно быть тщательно понимать для того, чтобы применять эти
стратегии эффективно. Techniques
for tolerating faults in software have been divided into three classes -
design diversity, data diversity and environment diversity.
Методы терпимо недостатки программного были разделены на три класса -
разнообразием дизайна, данных разнообразия и окружающей среды
разнообразия. Table 1 shows the fault tolerance strategies used by these classes. Таблица 1 показывает, отказоустойчивость стратегий, используемых этими классами. All these classes are discussed briefly in the following sections. Все эти классы кратко рассматриваются в следующих разделах.
Figure 2: Means of software fault tolerance Рисунок 2: Средства программного обеспечения отказоустойчивости |
Table 1: Strategies used by different fault tolerance methods Таблица 1: Стратегии, используемые различными методами отказоустойчивость | Design Дизайн | Data Данные | Environment Окружающая среда | Checkpointing Контрольных точек |
| diversity разнообразия | diversity разнообразия | diversity разнообразия | & recovery И восстановления |
Error compensation Ошибка компенсации | X X | X X | | |
Error recovery Исправление ошибок | | | | X X |
Fault treatment Неисправность лечения | | | X X | |
Next: Design diversity Up: No Title Previous: Classification of software faults Далее в программе: Дизайн разнообразия Up: No Title Previous: Классификация сбоев программного обеспечения
Исходный текст (английский):
Error
processing aims to remove errors from the software state and can be
implemented by substituting an error-free state in place of the
erroneous state, called error recovery , or by compensating for the error by providing redundancy, called error compensation .
Предложить лучший вариант перевода