Черкесов Г. Н. Надежность аппаратно-программных комплексов.. Надежностьаппаратнопрограммных
Скачать 2.81 Mb.
|
после комплексной отладки Комплексная отладка (КО) предусматривает статическую отладку отдельных алгоритмов, совокупности алгоритмов и секций ввода/вывода, всех средств ФПО и ИО, используемых при выполнении конкретной ФСО, а затем динамическую В этой процедуре можно выделить три этапа. Отладка путем имитации реальных алгоритмов в инструментальной среде САПР ПО при имитации окружающей среды, в том числе объекта управления. Этот этап является, по существу, отладкой математического обеспечения. Отладка реальных алгоритмов при имитации окружающей среды. Этап позволяет провести статическую отладку ив ограниченной степени — динамическую отладку. Отладка реальных алгоритмов, сопряженных с реальным объектом управления. Этап позволяет провести в полном объеме динамическую отладку. Модели КО разрабатывают применительно к этапами призваны оценить еще на стадии разработки программ эффективность отладки и остаточное число дефектов (ОЧД) после КО в укрупненных составных частях ФПО и ИО с помощью зависимостей типа где — размерности входного вектора — длительности отладки — коэффициенты эффективности отладки. Перерасчет остаточного числа дефектов для ФПО и ИО проводится по формуле (10.7). 10.2.4. Оценка вероятности проявления дефекта при однократном выполнении ФСО Дефекты, не обнаруженные при автономной и комплексной отладках, не являются случайными событиями, так как, в отличие от дефектов производства аппаратуры, они не развиваются во времени, а программное изделие не подвержено процессу физического старения. Дефекты программ могут проявляться только при работе АПК и только на вполне определенных значениях наборов входных переменных или их последовательностей и при вполне определенных состояниях системы, отраженных в условно-постоянной информации. Сочетаний входных наборов и состояний очень много, а появление определенных сочетаний трудно предсказуемо. Поэтому появление именно таких из них, при которых дефект проявляется и превращается в ошибку, становится уже случайным событием, а момент появления — случайной величиной. К их анализу можно применять вероятностные методы. Если известно распределение дефектов по полю программ и данных, то можно найти вероятность проявления дефектов при однократном выполнении ФСО в режиме МКЦП: (10.9) где — остаточное число дефектов в алгоритмах и базах данных распределения дефектов по полю программ и данных — распределения входных наборов и запросов по полю данных при однократном выполнении ФСО; В — вектор параметров ПО т количество входных наборов, поступающих в систему при однократном выполнении ФСО; v объем фрагмента данных, используемых при однократном выполнении ФСО. В режиме НПДП в качестве цикла однократного выполнения ФСО может быть принят фрагмент определенной длительности, в котором начинается и завершается обработка информации. Например, при выполнении функции сбора, обработки и отображения информации от пассивных датчиков в качестве фрагмента можно выбрать цикл полного опроса датчиков, анализа данных и корректировки БД. Оценка вероятности проявления дефектов при многократном выполнении ФСО Вероятность проявления остаточных дефектов при М прогонах программ зависит от вероятности и степени независимости различных прогонов. Если прогоны осуществляются на одних и тех же входных наборах, то зависимость максимальна, и тогда Если же прогоны независимы, то (10.10) Все остальные случаи находятся между этими двумя крайними. Очевидно, что в сложном ПК даже при большом числе дефектов вероятность их проявления может быть очень мала, поскольку велико множество возможных сочетаний значений входных векторов и внутренних состояний программ. Верно и обратное: длительное безошибочное функционирование ПК вовсе не гарантирует того, что в нем нет дефектов, которые могут проявиться в самый неблагоприятный момент, несмотря на самую тщательную отладку. Об этом свидетельствует и практика эксплуатации больших ПК, например в информационно-вычислительных системах космических аппаратов 10.2.6. Оценка характеристик потоков инициирующих событий Инициирующим является любой сигнал, требующий выполнения в полном объеме или частично одной из ФСО. Основным источником инициирующих событий (ИС) является объект управления, в котором изменение состояния может сопровождаться формированием индикатора ИСК другим источникам ИС относятся оперативный персонал, отказы технических средств, смежные системы. Суммарный поток ИС характеризуется интенсивностью , зависящей в общем случае от времени функционирования. Оценка показателей надежности системы с учетом случайного потока инициирующих событий В режиме МКЦП в качестве показателей надежности могут использоваться вероятность безотказной работы, коэффициент готовности, коэффициент оперативной готовности. Для безотказной работы системы требуется успешное выполнение всех циклов, инициированных в течение установленного календарного времени. Поскольку число ИС является случайной величиной, модель надежности учитывает интенсивность потока ИС и вероятность проявления дефектов при однократном выполнении ФСО: (10.11) Коэффициент готовности Кг. с определяется средним значением интервала между соседними проявлениями дефектов и средним временем устранения обнаруженного дефекта. Коэффициент оперативной готовности зависит от коэффициента готовности и вероятности успешного однократного выполнения ФСО и вычисляется по формуле. Факторные модели При проектной оценке надежности факторные модели являются вспомогательными, предназначенными для вычисления параметров, необходимых при формировании модели надежности и определения вида зависимостей (К факторным относят модели распределения исходного числа дефектов по полю программ и данных, модели эффективности автономной и комплексной отладки, модели режимов применения, характеризующие потоки входных наборов данных, модели потоков инициирующих событий 0 . 3 . 1 . Модели распределения числа дефектов в алгоритмах и базах данных На ранних стадиях проектирования в качестве исходных данных при оценке числа дефектов используют количество входов и выходов в структурной единице ПО и уровень языка программирования. По этим данным рассчитывают потенциальный объем программы где — суммарное количество независимых входов и выходов. Зависимость) имеет вид (10.13) Здесь — удельный объем программы, равный среднему объему программы, приходящемуся на один дефект / — уровень языка. Для естественного языка и близких к нему объектно-ориентированных языков программирования /= для языка типа ассемблера / = По разработанным текстам программ можно найти параметры программ, и тогда исходное число дефектов находят по формуле (10.14) где V — наблюдаемый объем программы А — теоретическая длина программы; п — словарь языка — число операций — число операндов — количество используемых словарных конструкций п — количество подпрограмм, количество массивов переменных — количество локальных меток — количество констант = 3000. Формулу (10.14) используют и для расчета ИЧД в базах данных. В этом случае V — объем в байтах = 17 850. 10.3.2. Модели распределения дефектов в базах данных При отсутствии специальных знаний о возможном распределении дефектов в базах данных естественной является модель равномерного распределения числа дефектов п по полю данных объемом Если для выполнения конкретной ФСО используется только часть этого объема, а именно данные объема V < тов объ- ёме V оказывается случайное число дефектов, задаваемое некоторым распределением. При построении распределения можно использовать дискретную или непрерывную модели. Если база данных структурирована ив ней выделены структурные единицы (кластеры, теги и др) примерно одинакового v, причем МНОГО больше, чем п то с высокой вероятностью в каждой структурной единице будет не более одного дефекта. Тогда число дефектов в объеме V имеет гипергеометрическое распределение (10.15) Если база данных не структурирована, то используется биномиальная модель Эта модель допускает наличие водном фрагменте данных объема v более одного дефекта. При больших и малых v распределения (10.15) и (10.16) близки друг к другу. Модели эффективности отладки Для прогнозирования момента обнаружения (проявления) дефекта можно использовать экспоненциальную, вейбулловскую или степенную модели. Тогда зависимости можно трактовать как функции распределения времени обнаружения дефекта. Однако они не учитывают параметр, как исходное число дефектов. Используя главную идею моделей (3.41)—(3.43) о нелинейной зависимости числа обнаруженных дефектов от времени отладки, можно рассчитывать ОЧД с помощью формул (10.17) (10.18) (10.19) где — параметры моделей. Значения параметров определяют на основании опыта отладки других программных изделий и уточняют по результатам отладки после обнаружения первого и второго дефектов в данном программном изделии. Рассмотрим еще одну модель отладки ПО, основанную на понятии конгруэнтного множества Пусть имеется комбинационная логическая структура со входным вектором и выходным вектором В комбинационной схеме каждому набору X соответствует определенный набор независящий от внутреннего состояния системы при правильной ее работе. Обнаружение дефекта происходит по несовпадению фактического значения вектора с правильным значением. Назовем конгруэнтным множеством подмножество множества Е значений вектора X, обладающее следующим свойством предъявление любого значения из способно обнаружить дефект определенного типа. Логическим индикатором является минимальная дизъюнктивная нормальная форма, содержащая все элементарные конъюнкции логических переменных без отрицания. Число называют рангом Например, логический индикатор первого ранга имеет вид Размером называют количество конституент единицы в совершенной дизъюнктивной нормальной форме (СДНФ) логической функции, соответствующей одной тестовой комбинации. Так, для количество конституент единицы равно Элементарной конъюнкции соответствует СДНФ, содержащая конституент единицы. В общем случае го ранга имеет размера относительный размер равен Количество такого размера равно Для полного тестирования го ранга надо предъявить входных наборов. Предъявляя входные наборы сериями по входных наборов = так что в каждой серии набор содержит ровно т единиц, проводим тестирование одновременно нескольких После серии с номером т полностью проверенными оказываются ранга и частично проверенными — ранга т. Если в го ранга есть хотя бы один дефект, то после завершения серии условная вероятность обнаружения равна Если известно распределение вероятностей дефекта р, = по конгруэнтным множествам, то после завершения серии шагов отладки безусловная вероятность обнаружения дефекта (10.21) Общая длина тестовой последовательности (10.22) Вероятность необнаружения дефекта после завершения серии (10.23) Здесь имеет смысл вероятности того, что после -й серии отладочных наборов дефект в го ранга не проявится. Вероятность проявления дефекта после -й серии равна Согласно другой трактовке есть безусловная вероятность того, что в после отладки останется дефекта вероятность отсутствия дефекта после отладки. Пусть теперь я тестовая серия длиной выполнена не полностью, а проверен результат только по / наборам . Представим (10.20) в виде (10.24) Тогда вероятность проявления дефекта в го ранга при неполной серии После ( 1) полных и т-й неполной серии условная вероятность проявления дефекта в го ранга Безусловная вероятность проявления дефекта Вероятность того, что дефект не будет обнаружен после неполной серии Вероятность Р) можно трактовать как математическое ожидание количества обнаруженных дефектов при наличии в программе не более одного дефекта. Если в ней есть дефектов, то математическое ожидание числа обнаруженных дефектов после т-й серии +... + р). Среднее остаточное количество дефектов = p) = (При неполной т-й серии = /, P). (Вероятность того, что после серии в программе не останется ни одного дефекта P)> Вероятность является гарантированной нижней оценкой вероятности безотказной работы. Правило завершения отладки может быть составлено либо путем нормирования длительности отладки, либо путем нормирования коэффициента эффективности отладки. В первом случае отладка завершается по достижении длиной тестовой последовательности нормативного значения Исходя из этого рассчитывают коэффициент эффективности отладки по одной из следующих формул = /, р Во втором случае отладка завершается по выполнении одного из следующих неравенств Если в (10.28) принято первое правило, то нормируется остаточное число дефектов. Из уравнения находят сначала т и /, а затем L. Если принято второе правило, то нормируется вероятность полного отсутствия дефектов. Второе требование более жесткое и требует знания исходного числа дефектов N. Оба правила дают одинаковые длительности отладки, если Пример 10.1. Пусть на вход программы комбинационного типа подается набор данных из пяти бинарных переменных. Известно, что после ожидаемое число дефектов равно 2 и они распределены равномерно. Необходимо оценить эффективность отладки после серии отладочных наборов (т = 1...5) и найти гарантированную нижнюю оценку вероятности безотказной работы программы для = 6, 16, 26 и Решение Результаты расчетов по формуле (10.20) приведены в табл. 10.1. Таблица Условная вероятность обнаружения дефекта в го ранга т — 0 т = 2 = 3 m = 4 = 5 1 0,5 1 2 0,25 0,75 3 0,125 0,50 0,875 1 1 1 4 0,0625 0,3125 0,6875 0,9325 1 1 5 0,03125 0,1875 0,5000 0,8175 0,96875 Изданных, приведенных в табл видно, что труднее всего обнаруживаются дефекты в более высокого ранга. При длительности теста, составляющей от длительности полного теста = 2, L = 16), в первых двух дефекты обнаруживаются гарантированно, а в го ранга лишь с вероятностью 0,5. Расчет безусловной вероятности обнаружения дефекта, которая является показателем эффективности отладки, проводится по формуле (10.21). Результаты расчетов приведены впервой строке табл. Таблица 10.2. Безусловная вероятность обнаружения дефекта Модель т = т т 2 т Ъ т Ат Экспонента 0,125 0,55 0,881 0,969 0,984 Степенная 0,290 0,781 0,929 0,989 Средняя 0,207 0,55 0,831 0,949 Эффективность отладки достигает значения 0,95 при длительности отладки, достигающей значения 81,25% от длительности полного теста. Зависимость вероятности от L, как ив моделях (10.17)—(10.19), нелинейная. Для сравнения в табл. 10.2 приведены результаты расчетов для экспоненциальной и степенной моделей. Для определения параметров аи т используется точка L = 6: 1 - ехр(-6а / 32) = / Отсюда ат. Из табл. 10.2 видно, что почти всюду экспоненциальная и степенная модели дают двустороннюю оценку значения, полученного по модели Поэтому среднее арифметическое этих значений довольно близко к значениям модели Максимальное относительное отклонение (при т = 2) не превышает Среднее остаточное число дефектов, рассчитанное по формуле уменьшается более чем вдвое уже при коэффициенте полноты тестирования К = = 6/32 = 0,19 ив раз при К = 0,8 (табл. Таблица 10.1. 1 2 3 т 0,25 0,125 0,0625 Условная вероятность обнаружения дефекта в = 1 1 0,75 0,50 т = 2 1 1 0,875 0,6875 т = 3 1 1 1 0,9325 0,8175 ранга т = 4 1 1 1 1 т = 5 1 1 1 1 Таблица 10.2. Модель Экспонента Степенная Средняя Безусловная вероятность обнаружения дефекта (т = 0,194 0,125 0,290 0,207 1 0,55 0,55 т 2 0,813 0,881 0,781 т = 3 0,950 0,969 0,929 т = 4 0,994 0,984 0,989 т = 5 1 0,986 1 0,993 Таблица 10.3. Среднее остаточное число дефектов Модель 1 = 2 т = 3 т = А 0,9 0,375 0,100 Средняя 0,9 0,278 0,102 Нижняя гарантированная оценка вероятности безотказной работы, рассчитанная по формуле (10.27), составляет 0,66 при т = 2 иприт Для баз данных можно рассмотреть две стратегии отладки. Отладка всего объема проводится автономно и независимо от ФСО. Если на каждом шаге тестирования проверяется объема исходное число дефектов известно, то количество дефектов в объеме v имеет биномиальное распределение с параметрами и q = При отладке происходит «просеивание» дефектов с вероятностью, равной коэффициенту эффективности отладки а. Значение а оценивается по статистическим данным предыдущих опытов отладки. Остаточное число дефектов определяют по формуле = = 1 - а. Если отладка разделена на автономную и комплексную, то остаточное число дефектов после автономной и комплексной отладки р = (10.29) 2. Отладка проводится только в той части V общего объема которая используется при выполнении конкретной ФСО. Дефекты обнаруживаются в процессе многократного выполнения ФСО на тестовых задачах или в процессе эксплуатации. Эффективность отладки для этой стратегии будет рассмотрена далее (см. 10.4). 10.3.4. Модели потоков инициирующих событий Запуск ФСО в режиме МКЦП происходит либо по расписанию, либо при появлении случайных событий определенного типа. Первый способ возникает при опросе пассивных дискретных датчиков (ДД), при появлении регулярных сигналов от смежных систем или команд от оперативного персонала. Случайные инициирующие события (ИС) возникают по сигналам инициативных ДД, логических схем сравнения показаний аналоговых датчиков (АД) с уставками. Инициирующим событием является любое изменение состояния ДД, достижение аналоговым параметром уровня уставки, изменение состояния любого исполнительного механизма (самопроизвольное или по командам дистанционного управления). В реальных условиях потоки инициирующих событий определяются динамикой изменения физико-химических и технологических процессов в объекте управления, надежностью средств автоматики, контроля и управления, стратегией дистанционного автоматизированного управления. Потоки С первого типа, получаемые на регулярной основе, близки по своим характеристикам к стационарным рекуррентным потокам с постоянной интенсивностью. Потоки ИС второго типа близки к стационарным пуассоновским потокам. |