Надежность - Dependability

В системная инженерия, надежность является мерой системы доступность, надежность, и это ремонтопригодность, и оказание технической поддержки, и, в некоторых случаях, другие характеристики, такие как долговечность, безопасность и безопасность.[1] В программная инженерия, надежность - это способность предоставлять услуги, которым можно обоснованно доверять в течение определенного периода времени.[нужна цитата ] Сюда также могут входить механизмы, предназначенные для повышения и поддержания надежности системы или программного обеспечения.[2]

В Международная электротехническая комиссия (IEC) через свой технический комитет ТК 56 разрабатывает и поддерживает международные стандарты, которые предоставляют систематические методы и инструменты для оценки надежности и управления оборудованием, услугами и системами на протяжении всего их жизненного цикла.

Надежность можно разбить на три элемента:

  • Атрибуты - способ оценки надежности системы
  • Угрозы - понимание того, что может повлиять на надежность системы
  • Означает - способы повышения надежности системы

История

Некоторые источники утверждают, что это слово было придумано девятнадцатилетними подростками в автомобильной рекламе Dodge Brothers. Но слово предшествует тому периоду, с Оксфордский словарь английского языка нашел свое первое применение в 1901 году.

По мере роста интереса к отказоустойчивости и надежности системы в 1960-х и 1970-х годах надежность стала мерой [x] как меры надежность стали включать дополнительные меры, такие как безопасность и целостность.[3] Таким образом, в начале 1980-х Жан-Клод Лапри выбрал надежность как термин, охватывающий исследования отказоустойчивости и надежности системы без расширения смысла, присущего надежность.[4]

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

Традиционно надежность системы включает: доступность, надежность, ремонтопригодность но с 1980-х годов безопасность и безопасность были добавлены к мерам надежности.[5]

Элементы надежности

Атрибуты

Таксономия, показывающая взаимосвязь между надежностью и безопасностью и атрибутами, угрозами и средствами (по Лапри и др.)

Атрибуты - это качества системы. Их можно оценить для определения его общей надежности с помощью Качественный или Количественный меры. Avizienis et al. определить следующие атрибуты надежности:

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

Конфиденциальность, т.е. отсутствие несанкционированного раскрытия информации также используется при решении вопросов безопасности. Безопасность - это сочетание Конфиденциальность, Честность, и Доступность. Безопасность иногда классифицируют как атрибут [6] но текущая точка зрения состоит в том, чтобы объединить это вместе с надежностью и рассматривать надежность как составной термин, называемый надежностью и безопасностью.[2]

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

Угрозы

Угрозы - это вещи, которые могут повлиять на систему и вызвать снижение надежности. Следует четко понимать три основных термина:

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

Важно отметить, что отказы регистрируются на границе системы. По сути, это Ошибки, которые распространились на границы системы и стали наблюдаемыми. Неисправности, Ошибки и Отказы действуют согласно механизму. Этот механизм иногда называют цепочкой сбоев-ошибок-сбоев.[7] Как правило, сбой при активации может привести к ошибке (что является недопустимым состоянием), а недопустимое состояние, созданное ошибкой, может привести к другой ошибке или отказу (что является наблюдаемым отклонением от указанного поведения в граница системы).[8]

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

Означает

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

  1. Профилактика
  2. Удаление
  3. Прогнозирование
  4. Толерантность

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

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

Прогнозирование неисправностей предсказывает вероятные неисправности, чтобы их можно было устранить или обойти их последствия.[9][10]

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

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

Надежность информационных систем и живучесть

Некоторые работы по надежности [11] использовать структурированный информационные системы, например с участием SOA, чтобы ввести атрибут живучесть, таким образом, принимая во внимание ухудшенные услуги, которые информационная система поддерживает или возобновляет после немаскированного сбоя.

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

С обобщением сетевых информационных систем, доступность был введен, чтобы придать большее значение опыту пользователей.

Чтобы принять во внимание уровень производительности, измерение выполнимость определяется как «количественная оценка того, насколько хорошо объектная система работает при наличии сбоев в течение определенного периода времени».[12]

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

дальнейшее чтение

Статьи

Журналы

Книги

  • Дж. К. Лапри, Надежность: основные понятия и терминология Springer-Verlag, 1992. ISBN  0-387-82296-8

Исследовательские проекты

  • DESEREC, Надежность и безопасность за счет расширенной возможности конфигурации REC, FP6 / Комплексный проект IST 2006–2008 гг.
  • УЗЛЫ[постоянная мертвая ссылка ], Сеть на надежных системах
  • ESFORS, Европейский форум по безопасности веб-сервисов, программного обеспечения и систем, Координационные действия FP6 / IST
  • ХИДЕНЕЦ Высоконадежные NETworks и службы на базе IP, Целевой проект FP6 / IST 2006–2008 гг.
  • СОПРОТИВЛЯТЬСЯ FP6 / IST Network of Excellence 2006–2007 гг.
  • РОДИН Строгая открытая среда разработки для сложных систем Целевой проект FP6 / IST 2004–2007
  • Безмятежность Системная инженерия для безопасности и надежности, Комплексный проект FP6 / IST 2006–2008 гг.
  • Архитектура выживаемости Willow, и STILT, Система противодействия терроризму и крупномасштабной совместной работы 2002–2004
  • АНИКЕТОС Надежный и безопасный состав услуг, Комплексный проект FP7 / IST 2010–2014 гг.

использованная литература

  1. ^ IEC, Electropedia del 192 Надежность, http://www.electropedia.org выберите 192 Надежность, см. 192-01-22 Надежность.
  2. ^ а б А. Авизенис, Ж.-К. Лапри, Брайан Рэнделл и К. Ландвер "Основные понятия и таксономия надежных и безопасных вычислений, "IEEE Transactions on Dependable and Secure Computing, vol. 1, pp. 11-33, 2004.
  3. ^ Брайан Рэнделл, «Надежность программного обеспечения: личное мнение», в материалах 25-го Международного симпозиума по отказоустойчивым вычислениям (FTCS-25), Калифорния, США, стр. 35-41, июнь 1995 г.
  4. ^ J.C. Laprie. «Надежные вычисления и отказоустойчивость: концепции и терминология», в Proc. 15-я IEEE Int. Symp. по отказоустойчивым вычислениям, 1985
  5. ^ А. Авизенис, Ж.-К. Лапри и Брайан Рэнделл: Основные концепции надежности. Отчет об исследовании № 1145, Лидфорд г DrAAS-CNRS, Апрель 2001 г.
  6. ^ И. Соммервилл, Разработка программного обеспечения: Аддисон-Уэсли, 2004.
  7. ^ А. Авизенис, В. Магнус У, Дж. К. Лапри и Брайан Рэнделл, «Фундаментальные концепции надежности», представленные на ISW-2000, Кембридж, Массачусетс, 2000.
  8. ^ Моради, Мехрдад; Ван Акер, Берт; Ванхерпен, Кен; Денил, Иоахим (2019). Чемберлен, Роджер; Таха, Валид; Торнгрен, Мартин (ред.). «Модельно-реализованная гибридная инжекция разломов для Simulink (демонстрация инструментов)». Киберфизические системы. Модельно-ориентированный дизайн. Конспект лекций по информатике. Чам: Издательство Springer International. 11615: 71–90. Дои:10.1007/978-3-030-23703-5_4. ISBN  978-3-030-23703-5.
  9. ^ «Оптимизация внедрения разломов в совместном моделировании FMI посредством разделения по чувствительности | Материалы конференции по летнему моделированию 2019 года». dl.acm.org. Получено 2020-06-15.
  10. ^ Моради, Мехрдад, Бентли Джеймс Оукс, Мустафа Сараоглу, Андрей Морозов, Клаус Яншек и Иоахим Денил. «Изучение пространства параметров неисправности с помощью внедрения неисправностей на основе обучения с подкреплением». (2020).
  11. ^ Джон К. Найт, Элизабет А. Странк, Кевин Дж. Салливан: К строгому определению живучести информационных систем В архиве 2006-10-29 на Wayback Machine
  12. ^ Джон Ф. Мейер, Уильям Х. Сандерс Спецификация и построение моделей выполнимости