По аналогии с многоканальными аппаратными средствами, работающими в критических условиях с повышенными требованиями по отказоустойчивости (наземные и бортовые комплексы управления летательными аппаратами, включая космические, компьютеризированные средства управления атомными реакторами и другими опасными для жизнедеятельности людей объектами), также предоставляющими собой N>3 аппаратных блоков, необходимо расширение "простого" ПО путем добавления избыточных версий программных блоков. Наличие избыточных компонент предполагает компенсировать (замаскировать) версии программ, для которых в контрольных точках обнаруживаются сбои, отказы или ошибки. Следует отметить, что существенным отличием между аппаратными средствами и программным обеспечением является неэффективность метода простого дублирования при поддержании устойчивости к ошибкам в программном комплексе. Это связано с тем, что простое дублирование элементов, эффективное против случайных ошибок, имеющих физическую природу, в технических системах, неэффективно при отказах программного обеспечения, так как оно предопределяет дублирование необнаруженных на этапе отладки ("спящих") ошибок в профаммах. Поэтому N программных версий должны разрабатываться отдельно и независимо друг от друга, что и соответствует концепции проектирования избыточного программного обеспечения. Однако, наличие N>3 версий избыточных версий программных модулей еще не обеспечивает устойчивость КП к отказам, так как необходимо наличие среды исполнения (execution environment ЕЕ) для мультивсрсионного профаммного обеспечения. Как отдельные версии ПО, так и среда исполнения, должны отвечать следующим требованиям: 1. Среда исполнения должна предусматривать функции поддержки исполнения версий программных компонент в режиме контроля ошибок; 40 |
аппаратных средств. Достаточно полный обзор современного состояния исследований в этом направлении можно найти в [89]. По аналогии с многоканальными аппаратными средствами, работающими в критических условиях с повышенными требованиями по отказоустойчивости (наземные и бортовые комплексы управления летательными аппаратами, включая космические [14], компьютеризированные средства управления атомными реакторами и другими опасными для жизнедеятельности людей объектами), также предоставляющими собой N >2 аппаратных блоков, необходимо расширение "простого" ПО путем добавления избыточных версий программных блоков. Наличие избыточных компонент предполагает компенсировать (замаскировать) версии программ, для которых в контрольных точках обнаруживаются сбои, отказы или ошибки. Следует отметить, что существенным отличием между аппаратными средствами и программным обеспечением является неэффективность метода простого дублирования при поддержании устойчивости к ошибкам в программном комплексе. Это связано с тем, что простое дублирование элементов, эффективное против случайных ошибок, имеющих физическую природу, в технических системах, не эффективно при отказах программного обеспечения, так как оно предопределяет дублирование необнаруженных на этапе отладки ("спящих") ошибок в программах. Поэтому N программных версий должны разрабатываться отдельно и независимо друг от друга, что и соответствует концепции проектирования избыточного программного обеспечения. Некоторые многоканальные системы с избыточностью как аппаратных, так и программных средств представлены в [60, 62], среди них: бортовые системы управления авиалайнеров Boeing 737-300 [101] и Airbus [97]. Однако, наличие N >2 версий избыточных версий программных модулей еще не обеспечивает устойчивость КП к отказам, так как необходимо наличие среды исполнения (execution environment ЕЕ) для NVS. Как отдельные версии ПО, так и среда исполнения, должны отвечать следующим требованиям: 47 |