Системы в условиях неопределенности
Надежность сложных программных комплексов
(магистр)
Лекция №7. Модель оценивания работоспособности информационной
системы в условиях неопределенности
Сложные информационные системы содержат в своем составе технические средства, программное обеспечение и человека-оператора (группу операторов). В качестве технических средств рассматриваются вычислительные комплексы, системы передачи данных с аппаратурой приема и передачи, ввода и вывода необходимой информации и другие устройства. Свои функции такие средства выполняют под управлением оператора (группы операторов), рабочим местом которого, как правило, является автоматизированная установка на базе компьютера или просто персональный компьютер. Мощные программные средства и удобные интерфейсы пользователя позволяют оператору получать необходимую информацию о различных состояниях компонентов средств и внешней среды, вводить новые данные, задавать необходимые управляющие воздействия.
Дальнейшее увеличение производительности информационных систем связано с ростом их технической и программной сложности. Ужесточаются в этой связи и требования к деятельности оператора. Более сложной системе соответствует более сложное ее поведение. Качество функционирования системы во многом определяется ее работоспособностью или, говоря как принято в технической литературе, ее надежностью. Хотя термин надежность к сложным системам следует применять с определенной осторожностью. К различным частям системы он, мы считаем, традиционно может быть применен. Здесь мы будем отождествлять надежность с работоспособностью и относить к каждой из трех рассматриваемых компонент. Чем выше сложность информационной системы, тем более высокие требования нужно предъявлять к ее надежности. Но чтобы их предъявлять нужно уметь оценивать уровни надежности всех компонент и их вклад в уровень надежности всей системы. Подчеркнем еще раз то обстоятельство, что современная информационная система - сложная система со всеми присущими сложным системам свойствами. Она является структурно- , информационно- избыточной системой. Ее элементы обладают приспосабливаемостью к условиям функционирования, адаптивностью. Поэтому применять к ним “стеснительный” термин надежности неправомочно. Для такой системы трудно сформулировать и понятие отказа. Однако, если мы хотим получить нижнюю, грубую, наихудшую границу оценки ее работоспособности, то вправе рассматривать указанные компоненты как независимые в процессе их функционирования, а для анализа и синтеза показателей надежности информационной системы по-прежнему применять принцип “слабого звена”, ”равнопрочности” и т.д. Конечно, при умении построить более совершенную модель информационной системы подобное грубое ограничение должно быть снято.
В дальнейшем будем полагать, что нарушение работоспособности любой из трех компонент приводит к нарушению работоспособности системы, которая должна функционировать непрерывно в течение заданного времени. Кроме того, будем полагать, что рассматриваемые компоненты системы не только не обладают избыточностью, но и не могут восстанавливаться при выполнении задачи, являются одинаковыми с точки зрения их функциональной значимости. Последние два допущения не являются принципиальными и сравнительно легко могут быть сняты: первое из них введением показателей с учетом восстановления, а второе за счет, например, введения весовых коэффициентов. Допущения приняты для простоты получения результата оценивания. В известной мере это оправдывается и тем фактом, что в современной научно-технической литературе вопросам оценивания работоспособности сложных человеко-машинных систем с развитым программным обеспечением уделяется мало внимания, отсутствует единый концептуальный подход к исследованию таких систем.
Кроме того, оценивание подобных систем из-за существенной неопределенности, обусловленной отсутствием достоверных априорных распределений для компонент, наличием ограниченного объема результатов испытаний, отсутствием моделей оценивания деятельности операторов в условиях обучения, времени и др., заставляет ограничиваться рассмотрением случайных оценок показателей работоспособности как компонент, так и системы в целом.
В условиях принятых допущений о работоспособности системы в качестве показателя качества естественно выбрать вероятность функционирования системы без нарушений:
(7.1)
где , – вероятности правильного функционирования системы, средств техники, программного обеспечения и человека-оператора. Знак * означает, что каждая вероятность есть случайная величина. Предполагаем, что каждая вероятность описывается своей плотностью распределения fc(P),f1(P),f2(P),f3(P). Необходимо получить плотность вероятности fc(P) системы, либо ее моменты, а затем выполнить выравнивание плотности по моментам. Исходными данными будут служить моменты трех компонент системы.
Используем преобразование Меллина [3] :
(7.2)
где f(x) – некоторая функция, интеграл от которой существует, а s – переменная преобразования.
Если f(x) плотность распределения на полуоси [0;¥), то (7.2) есть (s-1)-й начальный момент случайной величины X. Можно убедиться, что если случайная величина Х равна произведению случайных величин Хi, то (7.2) равно произведению преобразований Меллина плотностей вероятностей величин Хi:
(7.3)
Из (7.3) следует, что значение i-го начального момента произведения (7.1) равно произведению соответствующих начальных моментов сомножителей. Так, при s=2 получаем первый момент, s=3 второй, и т.д.
Если выражения для достаточно просты, то в общем случае можно получить аналитическое выражение для изображения M[fx(x)] и взяв обратное преобразование Меллина от него, найти плотность вероятности результата fc(p) для (7.1), как это делается в [4]:
(7.4)
Если отыскание плотности, таким образом, затруднительно, тогда для некоторых компонент системы найдем значения начальных моментов с помощью (7.2), а для остальных компонент – другими способами. Затем найдем значения моментов результирующей плотности вероятностей fc(P), по которым можно подобрать аппроксимирующую плотность вероятности fа(P) системы.
Рассмотрим оценивание компонент системы. Отдельно рассмотрим оценивание работоспособности технических средств, программного обеспечения и человека-оператора.
А) Технические средства. При рассмотренных допущениях работоспособность (надежность) можно оценить показателем вероятности безотказности работы при экспоненциальном законе надежности (приработка средств закончена, а их старение не наступило) , где – заданное время работы технических средств, – интенсивность отказа, являющаяся в нашем случае величиной случайной. Предполагая, что данная априорная плотность известна, найдем апостериорную плотность вероятности величины , используя байесовский подход [5]:
, (7.5)
где – число отказов средств техники, наблюдавшихся при её испытании в течение времени ,а Г(x) – гамма-функция Эйлера. Согласно (7.2) имеем:
. (7.6)
Из (7.6) нетрудно найти значения моментов случайной величины вероятности безотказной работы технических средств.
Б) Программные средства. В последнее время вопросу работоспособности программного обеспечения уделяется все большее внимание. Причины отказов информационных систем по вине программного обеспечения отличны от причин отказов техники. В теории существует множество различных моделей, позволяющих прогнозировать надежность программного обеспечения на различных этапах его жизненного цикла. Однако, на завершающих стадиях испытаний, когда основная часть дефектов уже устранена, возникающие ошибки достаточно лишь фиксировать, так как они не должны приводить к катастрофическим последствиям. То, что эти ошибки будут проявляться случайным образом, объясняется тем, что они возможны в силу случайного выбора исходных данных, определяющего случайную траекторию вычислений, на которой может быть нарушено хотя бы одно из условий требуемой точности вычислений или какое-то предикатное условие, определяющее дальнейший ход траектории процесса вычислений. Предотвратить подобные ошибки в сложных программных средствах за счет более полного их тестирования практически невозможно.
В подобном случае целесообразно, на наш взгляд, не применять оценочные модели теории надежности программного обеспечения, поскольку это значительно усложнит задачу исследования. Для анализа и повышения надежности программного обеспечения сложной структуры можно пойти путем декомпозиции и представления его в виде совокупности взаимосвязанных модулей частных программ, как указано в [6]. В данном случае целесообразнее воспользоваться более простым методом последовательных испытаний и биноминальным законом вероятности для получения оценки величины . Плотность вероятности безошибочного функционирования программной компоненты будет равна:
, (7.7)
где n – полное число прогонов программы функционирования информационной системы, m – число успешных прогонов. Тогда в соответствии с (7.2):
(7.8)
В) Человек-оператор. Оценить работоспособность человека-оператора как одну из необходимых компонент сложной системы достаточно трудно в силу присущих ему свойств живого организма, обладающего адаптационными возможностями. Вопросы учета человеческого фактора рассматриваются в научно-технической литературе с различных точек зрения. В нашем случае воспользуемся следующим представлением этой компоненты. Будем считать, что перед конкретными испытаниями в работе оператор подвергался обучению соответствующей функциональной деятельности в течение времени и за это время совершил k ошибок со случайной интенсивностью их влияния n. После окончания периода обучения за все время испытаний Т3 в его работе наблюдалось r3 ошибок со случайной интенсивностью их возникновения l. Тогда свойство сохранять работоспособность оператора к соответствующей функциональной деятельности можно описать следующей двойной экспоненциальной моделью:
, (7.9)
где tз – необходимое для выполнения задачи время работы оператора в информационной системе. Экспонента в показателе данной формулы фактически представляет собой вероятность невыявления ошибки оператора в процессе его обучения за время t. При этом, чем больше время обучения t, тем меньше вероятность невыявления ошибки в его действиях, тем больше вероятность безошибочного функционирования оператора при выполнении им задачи в течение времени tз. Выражение (7.9) является аналогом для оценивания вероятности безошибочного функционирования программного обеспечения в течение времени tз при условии, что время его отладки до использования было равно t. В надежности программного обеспечения оно известно как модель Мусы [7].
Напомним, что в наших условиях параметры n и l случайны. Оценивание их методом максимума правдоподобия на основе проведенных испытаний дает следующие результаты:
значения среднеквадратических отклонений
В дальнейшем мы полагаем что случайные величины нормально распределены, описываются плотностями:
,
,
где Ф(х) – функция Лапласа.
Тогда плотность вероятности величины (7.9) будет равна в силу ее монотонности по каждому параметру l,n:
(7.10)
где d – дельта-функция Дирака.
Из (10) найдем значения начальных моментов случайной величины Р3:
(7.11)
Для реальных значений к и r3 коэффициенты нормирования:
то есть можно считать, что обе плотности сосредоточены только на положительной полуоси [0;¥). После несложных преобразований можно получить приближенную формулу:
(7.12)
в которой .
Вычисленные с помощью (7.12) численные значения моментов можно использовать вместо преобразования Меллина в (7.3) для конкретных значений параметра s=1,2….
Г) Оценивание системы. Как отмечено ранее, найти аналитическое выражение, взяв обратное преобразование Меллина от преобразований плотностей вероятностей “безотказной работы” частей системы не всегда возможно. Однако, имея численные значения начальных моментов искомого распределения, можно его аппроксимировать по методу моментов некоторым распределением. В нашем случае удобно воспользоваться b-распределением, плотность вероятности которого имеет вид:
(7.13)
где a и b – параметры распределения, а – бета-функция.
В этом случае достаточно знания двух первых моментов, выражения для которых имеют вид:
(7.14)
Приравняв определенные ранее значения моментов Рс* к соответствующим значениям (7.14), найдем из полученной системы уравнений значения параметров a и b. По ним с помощью (7.13) построим искомую плотность вероятности.
Пример. Человеко-машинная система с единым циклом работы продолжительностью 2 часа испытывалась 50 раз.
Оператор принимал участие в работе в течение всего периода испытаний. ТогдаТ1=Т3=100 ч, t1=t3=2ч. При этом оператор проходил подготовку в течение времени 10ч., за которое выявлено к=30 ошибок. При работе системы он допустил r3=5 ошибок, техника отказывала r1=1 раз, программное обеспечение (n-m)=2 раза. Согласно выражениям (7.6),(7.8),(7.10),(7.3) получим:
Параметры b-плотности равны: a=80;b=27. График аппроксимирующей плотности для системы изображен на рис.1.
|
|
Рисунок 1 – График аппроксимирующей плотности для системы
Данную модель целесообразно использовать во время промежуточных испытаний, когда имеется возможность вернуться на более ранние этапы создания системы и провести доработку ее частей. В наибольшей степени это относится к программному обеспечению.
Если к системе предъявлены требования по показателю работоспособности в виде , то в первом приближении, считая ее компоненты равнозначными, можно к ним предъявить требования , и сравнить с ними соответствующие результаты оценивания. Повышать надежность технических средств можно за счет выбора новой элементной базы, снижением нагрузки на элементы, структурным резервированием. Повышать надежность программного обеспечения можно его дальнейшей доработкой, увеличением продолжительности тестирования отдельных программных модулей, всего комплекса в целом. Надежность человека-оператора можно повышать путем увеличения времени его обучения, путем повышения интенсивности тренировочных процессов. Для технических и программных средств возможно решение как в отдельности, так и вместе, оптимитизационной задачи по распределенного определенного количества ресурсов с целью достижения максимального или заданного значения показателя надежности. Решение же аналогичной задачи для информационной системы в целом возможно лишь в том случае, когда известен механизм влияния вложенного количества ресурса в человека-оператора на величину показателя его работоспособности.
Таким образом, на основе предложенной модели можно количественно оценивать работоспособность (надежность) сложной человеко-машинной системы с развитым программным обеспечением. Достоинство модели состоит в том, что в ней учитываются три наиболее существенных части любой информационной системы (технические средства, программное обеспечение, человек-оператор), а также возможность работать с ограниченным объемом статистических данных по каждой из трех частей. Модель достаточно проста, но в то же время достаточно груба. Использование более точного подхода потребует применения более совершенных моделей отдельных компонент системы, более тщательного учета и сбора исходных данных, несущих информацию о состоянии системы.