Остановка отказа - Fail-stop

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

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

Примеры

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

  new_bank_account_value = old_bank_account_value + amount_deposited  // пример расчета с 32-битными целыми числами со знаком, чтобы продемонстрировать, что переполнение превышает 2147483647  // -2,147,483,646 = 2,147,483,640 + 10

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

Смотрите также