Разработка программы вычисления надежности работы ИВС
Факторы, влияющие на надёжность изделия. Плотность вероятности времени безотказной работы. Надежность резервированной системы с автоматом контроля и коммутации. Сравнительные характеристики программных и аппаратурных отказов. Пример выполнения программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 20.04.2015 |
Размер файла | 712,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
5) Отказ АКК не приводит к отказу системы до следующего отказа элемента.
Очевидно, что АКК может отказать до того как будет использован весь резерв, т.е. он тоже определяет надежность системы.
Можно показать, что
(47)
(48)
ГЛАВА 3. НАДЁЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Исследования в области программной надёжности находятся на начальном этапе своего развития.
Целесообразно выделить две стороны программного обеспечения объекта: программную надёжность объекта - свойство объекта выполнять заданные функции, обусловленные качеством программного обеспечения; надёжность программного обеспечения - свойство программного обеспечения выполнять предписанные ему требования.
Программная надёжность изделия проявляется при совместной работе аппаратуры и программы. Она характеризует способность изделия выполнять заданные функции при условии, что программа будет находиться в том или другом состоянии.
Надёжность программного обеспечения характеризует качественное состояние программы. Её иногда называют правильностью программы, корректностью программы, надёжностью программы.
Программная надёжность объекта - это то, что интересует его потребителя. Для её обеспечения необходимо, чтобы программа была “правильной”, “корректной”, “надёжной”, т.е. чтобы она не содержала ошибок. Может оказаться, что некоторые из ошибок совсем не проявятся при работе объекта или, наоборот, при работе объекта обнаружатся дополнительные несовершенства (“ошибки”) программы. Однако очевидно, что необходимым условием надёжной работы объекта является “корректность” программ, т.е. отсутствие в них ошибок.
Программная надёжность становится особо актуальной, когда программы являются самостоятельным изделием. В этом случае они изготовляются, проверяются и подвергаются приёмосдаточным испытаниям так же, как обычные объекты.
Положения о двух сторонах надёжности программного обеспечения полезно иметь в виду при исследовании надёжности программно-управляемых объектов.
3.1 Сравнительные характеристики программных и аппаратурных отказов
Программные отказы изделия и аппаратурные отказы имеют много общего, но во многом существенно различаются. Общее между ними:
а) невыполнение объектом заданных функций;
б) времена до отказов и времена устранения отказов носят случайный характер;
в) методы обработки статистических данных об отказах одинаковы, а потому статистические оценки показателей надёжности аппаратурной и программной, полученные по результатам испытаний и эксплуатации, могут быть одинаковыми по своему названию: средняя наработка объекта на программный отказ, интенсивность программных отказов объекта и т.д. Возможны и объединённые (комплексные) оценки: средняя наработка объекта на программный и аппаратурный отказ и т.п.
Вместе с тем отказы программные существенно отличаются от отказов аппаратурных:
а) отказ аппаратурный зависит либо от времени, либо от объёма выполненной работы, а отказ программный - от той функции, которую выполняет изделие под управлением программы (точнее, от того, с какой вероятностью программа выйдет на такой участок, который содержит ошибку);
б) обнаружение и устранение аппаратурного отказа (заменой отказавшего элемента исправным) не означает, что такой же отказ не повторится при дальнейшей работе изделия, а обнаружение и устранение отказа программного (исправление программы) означает, что такой отказ в дальнейшем не повторится;
в) программный отказ, обнаруживаемый при автономной проверке программы, может переходить в разряд недействующих, если состояние аппаратуры делает её нечувствительной к данному виду программного отказа. Например, если в программе ошибочно не предусмотрена программная защита от аппаратурного сбоя, то это программный отказ, но если при этом в аппаратуре не возникает сбоя, то отказ программный становится недействующим;
г) прогнозировать возникновение аппаратурных отказов сравнительно легко, а прогнозировать возникновение отдельных программных отказов трудно, а часто и невозможно. Для отдельных программных отказов трудно предвидеть время, когда они становятся действующими, а когда-недействующими;
д) аппаратурные отказы целесообразно подразделять на внезапные и постепенные, т.е. отказы, различные по своей физической природе, законам распределения времени до отказа, методам борьбы за снижение их вероятности. Программные отказы нет смысла делить на внезапные и постепенные. Они возникают внезапно, как только программа переходит на такой участок, который содержит “ошибку”. В то же время они по природе своей не совпадают с внезапными аппаратурными отказами. Вероятность их возникновения не связана с продолжительностью работы изделия, а связана с условной вероятностью того, что программа содержит ошибку в данной части программы, и вероятностью того, что изделие будет работать под управлением этой части программы.
3.2 Проверка и испытания программ
Испытания программ на надёжность и испытания изделий на надёжность их программного обеспечения - обязательные этапы при проверке надёжности систем.
Испытания с целью проверки надёжности программ осуществляются с помощью специальных программ (тестирование) и специальных (имитационных) стендов. Проверяется при этом степень отработанности программы и её соответствие заданным требованиям.
Испытания с целью проверки надёжности изделий, работающих под управлением программ, осуществляются при совместной работе программы и изделия. Проверяются при этом и степень отработанности программы в соответствии с заданными требованиями, и корректность этих требований, и согласованность взаимодействий программы и аппаратуры.
Степень отработанности программы может проверяться различными методами. Чем выше требование к достоверности проверки, тем более сложен метод проверки.
Рассмотрим один из наиболее простых методов. В процессе проверки “корректности” программы (с помощью наблюдений за работой либо изделия, либо имитирующего устройства, либо на специальном стенде с помощью тестов) фиксируются времена обнаружения ошибок в программе. Результаты проверки обрабатываются при следующих предположениях: 1) ошибки программы независимы. Каждый раз после обнаружения они устраняются и в дальнейшем не проявляются. 2) интенсивность ошибок уменьшается по мере их обнаружения и устранения (ступенчато, как показано на рисунке 3.1).
Выявление и устранение ошибок производится до тех пор, пока значение будет меньше заданного значения. Заданное значение назначается с учётом требований к надёжности изделия. Ориетировочно можно исходить из того, что интенсивность программных ошибок, приводящих к отказу, на этапе отладочных испытаний должна быть не больше интенсивности аппаратурных отказов.
Положение о том, что при создании программного обеспечения больших систем возможно возникновение ошибок и что выявление программных ошибок - чрезвычайно трудная задача, не только не должно обезоруживать разработчиков систем, а наоборот, должно ориентировать их на максимальное сосредоточение сил для ликвидации программных отказов.
Влияние программных ошибок на надёжность изделия должно непрерывно уменьшаться с каждым новым этапом освоения программ (разработка - отладка - опытная эксплуатация - нормальная эксплуатация) так, чтобы на этапе нормальной эксплуатации объекта программная надёжность его была на уровне заданных требований.
3.3 Основные проблемы исследования надёжности программного обеспечения
В сложной программно - управляемой технической системе любого типа можно выделить две основные, относительно независимые части.
Совокупность автономно, параллельно работающих технических схем и устройств - аппаратная часть.
Совокупность программ, ориентированных на решение данного комплекса задач, представляющих математическое обеспечение технической системы и образующих её программную часть (операционная система и рабочие программы пользователей).
При общем анализе характеристик технической системы (её надёжности) следует учитывать, что если аппаратная часть жестко задана, неизменна и её надёжность может быть обеспечена на требуемом уровне, то программная часть в каждом отдельном случае может иметь ряд модификаций, является достаточно гибкой, изменяемой частью технической системы и в обеспечении совокупной надёжности системы определяет наибольшее количество ошибок. Авторы [19] считают, что в настоящее время около половины отказов сложных вычислительных систем обусловлено ошибками программ, а с ростом надёжности элементной базы (ИС, БИС) число откзов, связанных с математическим обеспечением, возрастает до 90% от общего числа отказов.
К основным проблемам исследования надёжности программного обепеспечения (ПО) относится:
Разработка методов оценки и прогнозирования надёжности ПО на основе совокупности количественных показателей и характеристик, идентичных показателям аппаратурной надёжности.
Определение факторов, влияющих на достижение заданного уровня надёжности ПО.
Разработка методов, обеспечивающих достижение заданного уровня надёжности ПО.
Совершенствование методов повышения надёжности ПО в процессе проектирования и эксплуатации.
Эффективный способ повышения надёжности ПО - использование методов структурного проектирования программ, так как в зависимости от структуры ПО последствия отдельных ошибок могут быть легко обнаружены, локализованы и исправлены на некотором небольшом участке программы либо распространиться на другие уровни и модули ПО.
3.4 Критерии оценки надёжности программных изделий
Всё множество различных показателей надёжности программных систем можно разбить на две большие группы:
Количественные показатели надёжности ПО.
Качественные показатели надёжности ПО.
Не рассматривая качественные характеристики надёжности, которые достаточно подробно исследованы в [20, 21], остановимся более подробно на возможности использования количественных показателей для оценки и прогнозирования надёжности ПО.
Наиболее удобно в качестве таких показателей использовать статистические (вероятностные) критерии хорошо разработанной теории надёжности радиоэлектронной аппаратуры. Следует учитывать, что оценка надёжности ПО на основе статистической теории надёжности аппаратуры возможна в пределах некоторых ограничений, учитывающих специфику ПО как определённого вида продукта человеческого труда.
Можно выделить следующие характеристики и количественные показатели надёжности ПО:
Безотказность. Говоря о безотказности ПО, характеризующей способность ПО выполнять заданные функции в заданных условиях эксплуатации технической системы, будем считать, что отказ программы - это результат проявления скрытой ошибки. Следует иметь в виду, что входные данные и данные создаваемые программой, не являются элементами ПО, поскольку их надёжность связана с работой внешних устройств и аппаратной части системы. Только константы, вводимые программистом, считаются частью ПО.
Для невосстанавливаемых в ходе эксплуатации программ обобщённой характеристикой надёжности (безотказности) является вероятность безотказной работы P(t), характеризующая вероятность того, что за время t отказа не произойдёт:
P(t) = P(T t) = 1 - q(t); (3.2)
где T - время работы ПО до отказа или наработка ПО до отказа (T - случайная величина); q(t) - вероятность отказа ПО.
Из (3.2) можно определить функцию интенсивности отказов:
; (3.3)
Среднее время наработки до наступления отказа (среднее время безотказной работы) определяется как математическое ожидание временного интервала между двумя последовательными нарушениями работоспособности ПО:
(3.4)
Для экспоненциального закона распределения отказов:
; (3.5)
Поскольку программы имеют явно выраженные производственные циклы работы, то наработка программы может быть выражена либо через календарное время, либо через машинное время, либо через количество отработанных операторов, решённых задач и т.п.
Один из способов оценки - наблюдение за поведением программы в определённый временной период. Тогда величину среднего времени между отказами (сбоями) ПО можно определить так:
(3.6)
где H - общее количество часов успешного прогона программы, определяемое по формуле:
; (3.7)
где - время непрерывного прогона в часах безошибочной работы ПО;
n - общее количество прогонов ПО; r - количество прогонов ПО без ошибок; l = n -r - количество прогонов с ошибками; - время прогона в часах до проявления ошибки ПО.
Полагая количество ошибок постоянным, можно вычислить интенсивность отказов ПО, приведённую к одному часу работы , и среднее время между соседними отказами ПО.
(3.8)
(3.9)
Классифицируя отказы ПО по видам отказов - аппаратные, программные, оператора и т.д., можно определить частные (взвешенные) интенсивности отказов по соответствующим видам ошибок - ап, пр, оп и т.д., а общая надёжность определяется как сумма таких интенсивностей. Такой подход может значительно облегчить сбор статистических данных по соответствующим видам отказов на основе независимого анализа программных изделий различных типов.
В случае, если в ходе эксплуатации возможна корректировка ПО или восстановление программы после отказа, вызванного действием помех (сбоев) от внепрограммных источников, а время восстановления достаточно мало по сравнению с временем между отказами или сбоями, обобщающей характеристикой безотказности ПО является интенсивность потока отказов во времени .
; (3.10)
; (3.11)
где H(t) - среднее число отказов за время t; - среднее время наработки между двумя отказами.
Для программ, время корректировки которых сравнимо с временем между отказами, обобщающей характеристикой безотказности является функция коэффициента готовности в зависимости от времени. Показатель готовности характеризует вероятность застать систему в заданный момент времени в работоспособном состоянии.
Устойчивость. Устойчивость ПО определяет способность системы выполнять заданные функции в условиях действия помех (ошибок, сбоев, отказов), возникающих во внепрограммных источниках (техническое обеспечение, исходные данные). При оценке устойчивости ПО должны быть заданы параметры окружающей среды, по отношению к которой оценивается устойчивость программ.
Показатели устойчивости - это показатели безотказности, но с использованием условных вероятностей. Условием, при котором вычисляют-ся вероятности, является отказ (сбой) в программе или аппаратуре.
Для невосстанавливаемых (некорректируемых) программ обобщённым показателем устойчивости служит условная вероятность безотказной работы:
(3.12)
где P(A) - вероятность ошибки (сбоя) программы или отказа аппаратуры.
Безотказность и устойчивость - динамические характеристики, то есть они характеризуют надёжность ПО в процессе работы.
Корректируемость. Этот показатель надёжности ПО аналогичен показателю ремонтопригодности радиоэлектронной аппаратуры, характеризует приспособленность ПО к поиску и устранению ошибок и внесению в него изменений в ходе эксплуатации. Он используется для характеристики восстанавливаемых в ходе эксплуатации программ. Показатели корректируемости: время корректировки , вероятность корректировки программы за заданное время , коэффициент готовности , параметр потока корректировок .
Защищённость и долговечность. Дополнительными характеристиками надёжности ПО являются: показатель защищённости от посторонних вмешательств в работу ПО и показатель долговечности, характеризующий свойства программ избегать морального старения при длительном использовании. Защищённость характеризуется вероятностью внесения искажений при постороннем вмешательстве, а долговечность - временем отказа ПО вследствие морального старения.
В зависимости от условий применения ПО можно выделить три режима (типа) его работы:
Программа не корректируется, и любой отказ является полным, т.е. после отказа ПО не восстанавливается. Основные показатели надёжности для этого режима работы программ - безотказность, устойчивость и защищённость.
Программа не корректируется, однако после отказа ПО система продолжает функционировать нормально. Основные показатели надёжности - безотказность, устойчивость, защищённость и долговечность.
После каждого отказа ПО корректируется, отлаживается и только после этого снова сдаётся в эксплуатацию. Основные показатели надёжности - безотказность, устойчивость, корректируемость, защищённость, а также потери времени.
3.5 Критерии надёжности сложных комплексов программ
Для оценки надёжности программ, как и при исследовании характеристик аппаратуры, как правило, приходится ограничиваться интегральными показателями наработки на отказ и средним временем восстановления. Определение остальных показателей сопряжено с большими трудностями, которые обусловлены тем, что для определения показателей надёжности комплексов программ необходимы длительные эксперименты или сложные расчёты при определённых исходных данных.
Оценка достоверности результатов и надёжности функционирования комплекса программ представляет собой сложную задачу из-за “проклятия размерности”. Естественным становится статистический подход к анализу надёжности функционирования и статистическая оценка достоверности результатов. Качество отладки определяется интенсивностью (частостью) отказов и значениями ошибок в выходных результатах, полученными за счёт невыявленных ошибок в программах и искажений исходных данных. Интенсивность (частость) отказов в комплексе программ иначе называется как частость проявления ошибок в комплексе программ.
Точное определение полного количества ошибок в программе прямыми методами измерения невозможно. Имеются только косвенные пути статистической оценки их полного количества. Такие оценки базируются на построении математических моделей в предположении жёсткой корреляции между общим количеством и проявлениями ошибок в комплексе программ после его отладки в течении времени , т.е. между следующими параметрами:
суммарным количеством ошибок в комплексе программ,
количеством ошибок, выявляемых в единицу времени dn/d в прцессе тестирования и отладки при постоянных усилиях на их проведение;
интенсивностью отказов или числом искажений результатов на выходе комплекса программ вследствие невыявленных ошибок при нормальном функционировании системы в единицу времени.
3.6 Математические модели надёжности комплексов программ
Математические модели позволяют оценивать характеристики ошибок в программах и прогнозировать их надёжность при проектировании и эксплуатации. Модели имеют вероятностный характер, и достоверность прогнозов зависит от точности исходных данных и глубины прогнозирования по времени. Эти математические модели предназначены для оценки:
- показателей надёжности комплексов программ в процессе отладки;
- количества ошибок, оставшихся не выявленными;
- времени, необходимого для обнаружения следующей ошибки в функционирующей программе;
- времени, необходимого для выявления всех ошибок с заданной вероятностью.
Использование моделей позволяет эффективно и целеустремлённо проводить отладку и испытания комплексов программ, помогает принять рациональное решение о времени прекращения отладочных работ.
В настоящее время предложен ряд математических моделей, основными из которых являются:
- экспоненциальная модель изменения ошибок в зависимости от времени отладки;
- модель, учитывающая дискретно - понижающуюся частоту появления ошибок как линейную функцию времени тестирования и испытаний;
- модель, базирующаяся на распределении Вейбула;
- модель, основанная на дискретном гипергеометрическом распределении.
При обосновании математических моделей выдвигаются некоторые гипотезы о характере проявления ошибок в комплексе программ. Наиболее обоснованными представляются предположения, на которых базируется первая экспоненциальная модель изменения ошибок в процессе отладки и которые заключаются в следующем:
Любые ошибки в программе являются независимыми и проявляются в случайные моменты времени.
Время работы между ошибками определяется средним временем выполнения команды на данной ЭВМ и средним числом команд, исполняемым между ошибками. Это означает, что интенсивность проявления ошибок при реальном функционировании программы зависит от среднего быстродействия ЭВМ.
Выбор отладочных тестов должен быть представительным и случайным, с тем чтобы исключить концентрацию необнаруженных ошибок для некоторых реальных условий функционирования программы.
Ошибка, являющаяся причиной искажения результатов, фиксируется и исправляется после завершения тестирования либо вообще не обнаруживается.
Из этих свойств следует, что при нормальных условиях эксплуатации количество ошибок, проявляющихся в некотором интервале времени, распределено по закону Пуассона. В результате длительность непрерывной работы между искажениями распределена экспоненциально.
Предположим, что в начале отладки комплекса программ при = 0 в нём содержалось ошибок. После отладки в течении времени осталось ошибок и устранено n ошибок (+ n = ). При этом время соответствует длительности исполнения программ на вычислительной системе (ВС) для обнаружения ошибок и не учитывает простои машины, необходимые для анализа результатов и проведения корректировок.
Интенсивность обнаружения ошибок в программе dn/d и абсолютное количество устранённых ошибок связываются уравнением
(3.13)
где k - коэффициент.
Если предположить, что в начале отладки при = 0 отсутствуют обнаруженные ошибки, то решение уранения (3.13) имеет вид
(3.14)
Количество оставшихся ошибок в комплексе программ
пропорционально интенсивности обнаружения dn/d с точностью до коэффициента k.
Время безотказной работы программ до отказа T или наработка на отказ, который рассматривается как обнаруживаемое искажение программ, данных или вычислительного процесса, нарушающее работоспособность, равно величине, обратной интенсивности обнаружения отказов (ошибок):
(3.15)
Если учесть, что до начала тестирования в комплексе программ содержалось ошибок и этому соответствовала наработка на отказ , то функцию наработки на отказ от длительности проверок можно представить в следующем виде:
(3.16)
Если известны моменты обнаружения ошибок и каждый раз в эти моменты обнаруживается и достоверно устраняется одна ошибка, то, используя метод максимального правдоподобия, можно получить уравнение для определения значения начального числа ошибок :
(3.17)
а также выражение для расчёта коэффициента пропорциональности
; (3.18)
В результате можно рассчитать число оставшихся в программе ошибок и среднюю наработку на отказ Tср = 1/ , т.е. получить оценку времени до обнаружения следующей ошибки.
В процессе отладки и испытаний программ для повышения наработки на отказ от до необходимо обнаружить и устранить n ошибок. Величина n определяется соотношением:
; (3.19)
Выражение для определения затрат времени на проведение отладки, которые позволяют устранить n ошибок и соответственно повысить наработку на отказ от значения до, имеет вид:
(3.20)
Вторая модель построена на основе гипотезы о том, что частота проявления ошибок (интенсивность отказов) линейно зависит от времени испытания между моментами обнаружения последовательных i - й и (i - 1) - й ошибок.
, (3.21)
где - начальное количество ошибок; K - коэффициент пропорциональности, обеспечивающий равенство единице площади под кривой вероятности обнаружения ошибок.
Для оценки наработки на отказ получается выражение, соответствующее распределению Релея:
(3.22) где .
Отсюда плотность распределения времени наработки на отказ
. (3.23)
Использовав функцию максимального правдоподобия, получим оценку для общего количества ошибок и коэффициента K.
(3.24)
(3.25)
Особенностью третьей модели является учёт ступенчатого характера изменения надёжности при устранении очередной ошибки. В качестве основной функции рассматривается распределение времени наработки на отказ P(t). Если ошибки не устраняются, то интенсивность отказов является постоянной, что приводит к экспоненциальной модели для распределения:
Отсюда плотность распределения наработки на отказ T определяется выражением:
где t > 0, > 0 и 1/ - среднее время наработки на отказ, т.е. Тср=1/. Здесь Тср - среднее время наработки на отказ.
Для аппроксимации изменения интенсивности от времени при обнаружении и устранении ошибок используется функция следующего вида:
;
Если 0 < < 1, то интенсивность отказов снижается по мере отладки или в процессе эксплуатации. При таком виде функции (t) плотность функции распределения наработки на отказ описывается двухпараметрическим распределением Вейбулла:
.
Распределение Вейбулла достаточно хорошо отражает реальные зависимости при расчёте функции наработки на отказ.
3.7 Проверка математических моделей
Обоснование приведённых математических моделей приведено в ряде работ, в которых наибольшее внимание уделялось проверке первой и второй моделей. Контролировались и обрабатывались экспериментальные данные интенсивности обнаружения ошибок dn/d на фиксированном интервале времени, количества обнаруженных ошибок n или наработки на отказ T в зависимости от времени функционирования программ на вычислительной системе. Характеристики, полученные расчётами с использованием математических моделей, сопоставлялись с полученными экспериментальными значениями и применялись для прогнозирования показателей с последующим анализом отклонений от экспериментальных данных.
Пример анализа первой модели приведён на рис. 3.3. Определялся и прогнозировался интервал времени между последовательными отказами при непрерывном
Для оценки достоверности моделей анализировалось количество ошибок n, выявленное при функционировании комплексов программ в течении времени [см. (3.14)]. Значения и K определялись методом максимального правдоподобия для каждого из 16 исследованных вариантов создания больших программ. Пример изменения количества выявленных ошибок в зависимости от времени функционирования одного комплекса программ представлен на рис. 3.4. Из графика следует, что первая модель [см. (3.14)] хорошо аппроксимирует количество ошибок во всём исследованном интервале времени. При значениях n > 288 отклонение реального количества обнаруженных ошибок от расчётного составляет 21%.
ГЛАВА 4. РАСЧЕТ НАДЕЖНОСТИ ФУНКЦИОНИРОВАНИЯ СИСТЕМ
4.1 Постановка задачи
Под надежностью понимают свойство объекта сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, хранения и транспортирования;
Надежность является комплексным свойством, которое в зависимости от назначения объекта может включать безотказность, ремонтопригодность и долговечность или сочетание этих свойств. Термин Надежность используется только для описаний общего характера в неколичественном выражении.
Показатель надежности - количественная характеристика одного или нескольких свойств, составляющих надежность объекта.
Требуется реализовать расчет надежности функционирования систем.
Пример расчета надежности системы, собранной по основной схеме.
На рисунке 1a, представлена схема включения конденсаторной батареи (l2 = l3 =... l11 = 0,01 1/год, = 0,024 1/год). Конденсаторы выбраны так, что при выходе из строя любого из них батарея не выполняет своих функций, то есть с точки зрения надежности она отказывает.
Отказывает она также при перегорании предохранителя 1. Следовательно, мы сформулировали понятие отказа - при отказе любого из элементов система, состоящая из 11 элементов, отказывает. На рисунке 1б изображена расчетная схема надежности, где все элементы включены последовательно.
Интенсивность отказов конденсаторной батареи составит:
.
Рисунок 1. Схема конденсаторной батареи
На рисунке 1в батарея представлена эквивалентным элементом с интенсивностью отказов lo. По отношению к более сложной системе (схеме), в которой составной частью является конденсаторная батарея, эта установка будет элементом с параметром lo.
Вероятность безотказной работы батареи за год равна:
.
Средняя наработка до отказа равна: года.
Результат расчета доказывает, что надежность неремонтируемой батареи конденсаторов, за 1 год непрерывной работы, мала. Для обеспечения более высокого уровня её надежности необходимо предусмотреть более качественное техническое обслуживание.
Рассмотрим случай, когда элементы включены параллельно.
Надежности участка логической схемы:
.
4.2 Математические и алгоритмические основы решения задачи
Предположим, что система состоит из n последовательно включенных элементов. Из теории вероятностей известно, что если определены вероятности появления нескольких независимых случайных событий, то совпадение этих событий определяется как произведение вероятностей их появлений. В нашем случае работоспособное состояние любого из n элементов системы оценивается как вероятность безотказной работы элемента. Система будет находиться в работоспособном состоянии только при условии совпадения работоспособных состояний всех элементов. Таким образом, работоспособность системы оценивается как произведение вероятностей безотказной работы элементов:
, (2.1)
где - вероятность безотказной работы i-го элемента. Система, как и элемент, может находиться в одном из двух несовместимых состояний: отказа или работоспособности. Следовательно,
,
где Q (t) - вероятность отказа системы, определяемая по выражению:
. (2.2)
При произвольном законе распределения времени наработки до отказа для каждого из элементов:
, (2.3)
где - интенсивность отказов i-го элемента.
Вероятность безотказной работы системы соответственно запишется:
. (2.4)
По выражению (2.4) можно определить вероятность безотказной работы системы до первого отказа при любом законе изменения интенсивности отказов каждого из n элементов во времени. Для наиболее часто применяемого условия выражение (2.4) примет вид:
, (2.5)
где можно представить как интенсивность отказов системы, сведенной к эквивалентному элементу с интенсивностью отказов:
. (2.6)
Таким образом, систему из n последовательно включенных элементов легко заменить эквивалентным элементом, который имеет экспоненциальный закон распределения вероятности безотказной работы. А это значит, если , то средняя наработка до отказа системы
. (2.7)
Верно также и то, что при условии: , искомая величина определится как
. (2.8)
Для параллельного нагруженного логического соединения вероятность отказа системы равна произведению вероятностей отказа элементов. Функция ненадежности системы
, (2.9) где - функция ненадежного j-го элемента.
При параллельном ненагруженном логическом соединении функция надежности участка логической схемы, состоящего из k одинаково надежных элементов, вычисляется по формуле:
(2.10)
Общий недостаток изложенного выше приближенного расчета надежности - малая и недостоверная информация о надежности типовых элементов.
Расчеты надежности при проектировании целесообразно завершить моделированием процессов появления отказов систем и испытанием первых опытных образцов. В ходе моделирования выявляются интенсивности отказов систем из-за постепенных изменений параметров элементов. При испытаниях уточняются действующие на элементы нагрузки и данные о надежности отдельных элементов.
4.3 Функциональные модели и блок-схемы решения задачи
Функциональные модели и блок-схемы решения задачи представлены на рисунке 2 - 7.
Условные обозначения: LST - интенсивность отказов элементов; P - работоспособность системы; L - интенсивность отказов элементов; TME - период работы системы; X - рабочая переменная.
Рисунок 2 - Функциональная модель решения задачи для функции CAPACITY_IN_CASCADE_CON
Рисунок 3 - Функциональная модель решения задачи для функции FALL_OVER_IN_CASCADE_CON
Рисунок 4 - Функциональная модель решения задачи для функции CAPACITY_RANDOM_TIME
Рисунок 5 - Функциональная модель решения задачи для функции TIME_BEFORE_FALL_OVER
Рисунок 6 - Функциональная модель решения задачи для функции CAPACITY_PARALLEL_CON
Рисунок 7 - Функциональная модель решения задачи для функции FACTORIAL
4.4 Программная реализация решения задачи
; P - РАБОТОСПОСОБНОСТЬ СИСТЕМЫ
; Q - ОТКАЗ СИСТЕМЫ
; 1 - ПОСЛЕДОВАТЕЛЬНОЕ СОЕДИНЕНИЕ - CASCADE_CONNECT
; 2 - ПАРАЛЛЕЛЬНОЕ НАГРУЖЕННОЕ СОЕДИНЕНИЕ - PARALLEL_CONNECT_LOAD
; 3 - ПАРАЛЛЕЛЬНОЕ НЕ НАГРУЖЕННОЕ СОЕДИНЕНИЕ - PARALLEL_CONNECT
; РАБОТОСПОСОБНОСТЬ СИСТЕМЫ ПРИ ПОСЛЕДОВАТЕЛЬНОМ СОЕДИНЕНИИ
(DEFUN CAPACITY_IN_CASCADE_CON (LST)
(COND
( (NULL LST) 0)
( (ATOM LST) LST)
(T (* (CAPACITY_IN_CASCADE_CON (CAR LST)) (CAPACITY_IN_CASCADE_CON (CDR LST))))))
; ВЕРОЯТНОСТЬ ОТКАЗА СИСТЕМЫ
(DEFUN FALL_OVER_IN_CASCADE_CON (P)
( - 1 P)
)
; ПРИ ПРОИЗВОЛЬНОМ ЗАКОНЕ РАСПРЕДЕЛЕНИЯ ВРЕМЕНИ
; ИНТЕНСИВНОСТЬ ОТКАЗОВ СИСТЕМЫ
(DEFUN FALL_OVER_RANDOM_TIME (LST)
(COND
( (NULL LST) 0)
( (ATOM LST) LST)
(T (+ (FALL_OVER_RANDOM_TIME (CAR LST)) (FALL_OVER_RANDOM_TIME (CDR LST))))
)
)
; ВЕРОЯТНОСТЬ БЕЗОТКАЗНОЙ РАБОТЫ СИСТЕМЫ
(DEFUN CAPACITY_RANDOM_TIME (L TME)
(EXP (* - 1 L TME))
)
; НАРАБОТКА ДО ОТКАЗА СИСТЕМЫ
(DEFUN TIME_BEFORE_FALL_OVER (L)
(/ 1 L)
)
; ПАРАЛЛЕЛЬНОЕ НАГРУЖЕННОЕ
; ВЕРОЯТНОСТЬ ОТКАЗА
(DEFUN FALL_OVER_PARALLEL_CON_LOAD (LST)
(COND
( (NULL LST) 1)
( (ATOM LST) LST)
(T (* (FALL_OVER_PARALLEL_CON_LOAD (CAR LST)) (FALL_OVER_PARALLEL_CON_LOAD (CDR LST))))
)
)
; ПАРАЛЛЕЛЬНОЕ НЕНАГРУЖЕННОЕ
(DEFUN FACTORIAL (X)
(COND
( (EQL X 0) 1)
( (EQL X 1) 1)
(T (* X (FACTORIAL ( - X 1))))
)
)
(DEFUN SUM_CAPACITY_PARALLEL_CON (L TME N)
(COND
( (= N - 1) 0)
(T (FLOAT (+ (/ (EXPT (* L TME) N) (FACTORIAL N)) (SUM_CAPACITY_PARALLEL_CON L TME ( - N 1)))))
)
)
; РАБОТОСПОСОБНОСТЬ СИСТЕМЫ
(DEFUN CAPACITY_PARALLEL_CON (L TME N)
(* (SUM_CAPACITY_PARALLEL_CON L TME N) (EXP (* - 1 L TME)))
)
(DEFUN GET_RES (CON L TME OUPUT)
(COND
; ПОСЛЕДОВАТЕЛЬНОЕ СОЕДИНЕНИЕ
( (= CON 1)
(SETQ L (FALL_OVER_RANDOM_TIME L))
(PRINT (LIST 'INTENSIVNOST_OTKAZA '= L) OUPUT)
(PRINT (LIST 'VEROYATNOST_BEZOTKAZNOI_RABOTY '= (CAPACITY_RANDOM_TIME L TME)) OUPUT)
(PRINT (LIST 'SREDNYA_NARABOTKA_DO_OTKAZA '= (TIME_BEFORE_FALL_OVER L)) OUPUT)
)
; ПАРАЛЛЕЛЬНОЕ НАГРУЖЕННОЕ СОЕДИНЕНИЕ
( (= CON 2)
(PRINT (LIST 'VEROYATNOST_OTKAZA '= (FALL_OVER_PARALLEL_CON_LOAD L)) OUPUT)
(SETQ NUM (LENGTH L))
(SETQ L (FALL_OVER_RANDOM_TIME L))
(PRINT (LIST 'INTENSIVNOST_OTKAZA '= L) OUPUT)
(PRINT (LIST 'RABOTOSPOSOBNOST_SYSTEMY '= (CAPACITY_PARALLEL_CON L TME NUM)) OUPUT)
)
; ПАРАЛЛЕЛЬНОЕ НЕНАГРУЖЕННОЕ СОЕДИНЕНИЕ
( (= CON 3)
(SETQ NUM (LENGTH L))
(SETQ L (FALL_OVER_RANDOM_TIME L))
(PRINT (LIST 'INTENSIVNOST_OTKAZA '= L) OUPUT)
(SETQ P (CAPACITY_PARALLEL_CON L TME NUM))
(PRINT (LIST 'RABOTOSPOSOBNOST_SYSTEMY '= P) OUPUT)
(PRINT (LIST 'VEROYATNOST_OTKAZA '= (FALL_OVER_IN_CASCADE_CON P)) OUPUT)
)))
; ПОЛУЧАЕМ СОЕДИНЕНИЕ СИСТЕМЫ
(SETQ INPUT (OPEN " D: \SYSTEM. TXT": DIRECTION: INPUT))
(SETQ CONNECT (READ INPUT))
(SETQ L (READ INPUT))
(SETQ TME (READ INPUT))
(CLOSE INPUT)
(SETQ OUTPUT (OPEN "D: \RESULT. TXT": DIRECTION: OUTPUT))
(GET_RES CONNECT L TME OUTPUT)
(TERPRI OUTPUT)
(CLOSE OUTPUT)
; КОНЕЦ
4.5 Пример выполнения программы
Пример 1.
Рисунок 8 - Входные данные: последовательное соединение, интенсивность отказов элементов, период - 1 год
Рисунок 9 - Выходные данные: интенсивность отказа, вероятность безотказной работы системы, средняя наработка до отказа
Пример 2.
Рисунок 10 - Входные данные: параллельное нагруженное соединение, интенсивность отказов элементов, период - 2 года
Рисунок 11 - Выходные данные: вероятность отказа работы системы, интенсивность отказа, работоспособность системы
Пример 3.
Рисунок 12 - Входные данные: параллельное ненагруженное соединение, интенсивность отказов элементов, период - 1 год
Рисунок 13 - Выходные данные: интенсивность отказа, работоспособность системы, вероятность отказа системы
ЗАКЛЮЧЕНИЕ
Проблема повышения качества вычислений, как несоответствие между желаемым и действительным, существует и будет существовать в дальнейшем. Ее решению будет содействовать развитие информационных технологий, которое заключается как в совершенствовании методов организации информационных процессов, так и их реализации с помощью конкретных инструментов - сред и языков программирования.
Итогом работы можно считать созданную функциональную модель расчета надежности функционирования систем. Созданная функциональная модель и ее программная реализация могут служить органической частью решения более сложных задач.
ЛИТЕРАТУРА
Надёжность автоматизированных систем управления. / Под редакцией Я.А. Хетагурова.- М.: Высшая школа, 1979 - 287с.
Половко А.М. Основы теории надёжности. - М.: Наука, 1964 - 446с.
Голинкевич Т.А. Прикладная теория надёжности. - М.: Высшая школа, 1985 - 168с.
Маликов И.М. Надёжность судовой электронной аппаратуры и систем автоматического управления. - Л.: Судостроение, 1967 - 315с.
Шишонок Н.А. и др.Основы теории надёжности и эксплуатации радиоэлектронной техники. - М.: Советское радио, 1964 - 551с.
Шор Я.Б. Статистические методы анализа и контроля качества и надёжности. - М.: Советское радио, 1962 - 552с.
Росин М.Ф., Булыгин В.С. Статистическая динамика и теория эффективности систем управления. - М.: Машиностроение, 1981 - 312с.
Вероятностные методы в вычислительной технике. - М.: Высшая школа, 1986 - 312с.
Яншин А.А. Теоретические основы конструирования, технологии и надёжности ЭВА. - М.: Радио и связь, 1983 - 312с.
Рудзит Я.А., Плуталов В.Н. Основы метрологии, точность и надёжность в приборостроении. - М.: Машиностроение, 1991 - 303с.
Саяпин В.В. Конспект лекций по курсу “Основы теории надёжности”. - М.: МВ и ССО СССР, МАИ, 1971 - 142с.
Дружинин Г.В. Надёжность автоматизированных производственных систем. - М.: Энергоатомиздат, 1986 - 479с.
Липаев В.В. Надёжность программного обеспечения АСУ. - М.: Энергоиздат, 1981 - 240с.
Шураков В.В. Надёжность программного обеспечения систем обработки данных. - М.: Финансы и статистика, 1987 - 271с.
Садчиков П.И., Приходько Ю.Г. Методы оценки надёжности и обеспечения устойчивости функционирования программ. - М.: Знание, 1983 - 102с.
Сборник задач по теории надёжности./ Под редакцией А.М. Половко и И.М. Маликова. - М.: Советское радио, 1972 - 407с.
Теория надёжности радиоэлектронных схем в примерах и задачах. - М.: Энергия, 1976 - 448с.
Снегирёв А.А. Сборник задач по надёжности САУ. - М.: МВ и ССО СССР, МИФИ, 1978 - 87с.
Тейер Т., Липов М., Нельсон Э. Надёжность программного обеспечения. - М.: Мир, 1981 - 325с.
Майерс Г. Надёжность программного обеспечения. - М.: Мир, 1980 - 360с.
Гласс Р. Руководство по надёжному программированию. - М.: Финансы и статистика, 1982 - 256с.
Ушаков И.А. Вероятностные модели надежности информационно-вычислительных систем. М. Радио и связь, 1991.
Рябинин И.А. Надежность и безопасность структурно-сложных систем. Санкт-Петербург, Политехника, 2001.
Афанасьев В.Г., Зеленцов В.А., Миронов А.И. Методы анализа надежности и критичности отказов сложных систем. МО, 1992.
Райншке К., Ушаков И.А. Оценка надежности систем с использованием графов, М. Радио и связь, 1998.
Рябинин И.А., Черкесов Г.Н. Логико-вероятностные методы исследования надежности структурно-сложных систем. М. Радио и связь, 1986.
Барлоу Р., Прошан А. Математическая теория надежности. Пер. с англ. Под ред Гнеденко Б.В., М. Сов. Радио, 1969.
Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. Пер. с англ. - М., Мир, 1976.
Кофман А. Введение в теорию нечетких множеств Пер. с франц. М. Радио и связь, 1982.
Бронштейн И.Н. Справочник по математике для инженеров и учащихся втузов / И.Н. Бронштейн, К.А. Семендяев. - М.: Наука, 2007. - 708 с.
Кремер Н.Ш. Высшая математика для экономистов: учебник для студентов вузов. [Текст] / Н.Ш. Кремер, 3-е издание - М.: ЮНИТИ-ДАНА, 2006. C.412.
Круглов В.В. Нечёткая логика и искусственные нейронные сети. [Текст] / В.В. Круглов, М.И. Дли, Р.Ю. Голунов. - М.: Питер, 2001. C.224.
Лекции по надежности [Электронный ресурс] - Режим доступа: http://www.prostoev.net/modules/myarticles/admin/index. php? op=edit&storyid=86#4.
Методы расчета надежности [Электронный ресурс] - Режим доступа: http://reliability-theory.ru/topics/t3r1part1.html
Симанков В.С. Основы функционального программирования/ В.С. Симанков, Т.Т. Зангиев, И.В. Зайцев.-Краснодар: КубГТУ, 2002.-160 с.
Степанов П.А. Функциональное программирование на языке Lisp. / П.А. Степанов, А.В. Бржезовский. - М.: ГУАП, 2003. С.79.
Хювенен Э. Мир Лиспа [Текст] / Э. Хювенен, Й. Сеппянен. - М.: Мир, 1990. - 460 с.
ПРИЛОЖЕНИЕ. ПРОГРАММА
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,math, Menus, ComCtrls;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
procedure Button1Click(Sender: TObject);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
//n:real;
p:array [0..60] of real;
q:array [0..60] of real;
f:array [0..60] of real;
l:array [0..60] of real;
e:array [0..60] of real;
m:array [0..60] of real;
ex,n,t :integer;
j,s,y,z,z1,z3:string;
begin
ex:=4;
n:=60;
q[0]:= strtofloat (edit1.Text);
q[1]:= strtofloat (edit2.Text);
q[2]:= strtofloat (edit3.Text);
q[3]:= strtofloat (edit4.Text);
q[4]:= strtofloat (edit5.Text);
q[5]:= strtofloat (edit6.Text);
q[6]:= strtofloat (edit7.Text);
{ q[1]:=0.25; q[2]:=0.35; q[3]:=0.45; q[4]:=0.55; q[5]:=0.65; q[6]:=0.75;
{for t:=0 to 6 do begin
j := j + #9 + FloatToStr(q[t])+ #13;
label1.Caption := 'Q[t] - Вероятность отказа '+ #13 + '0<q(t)<1'+ #13+ #13 + j + #13;
end; }
//P[t] - Вероятность безотказной работы
for t:=0 to n do begin p[t]:=1-q[t]; end;
for t:=0 to 6 do begin z := z+ #9 + FloatToStr(p[t])+ #13;
label4.Caption := 'P[t] - Вероятность безотказной работы '+ #13 + #13 + z + #13;
end;
// плотность отказа
f[1]:=q[1]-q[0]/10;
f[2]:=q[2]-q[1]/10;
f[3]:=q[3]-q[2]/10;
f[4]:=q[4]-q[3]/10;
f[5]:=q[5]-q[4]/10;
f[6]:=q[6]-q[5]/10;
for t:=0 to 6 do begin s := s+ #9 + FloatToStr(f[t])+ #13;
label2.Caption := 'f[t] - плотность отказа '+ #13 + #13 + s + #13;
end;
for t:=0 to 6 do begin p[t]:=1-q[t]; end;
//интенсивность отказа
for t:=0 to 6 do begin l[t]:=f[t]/p[t]; end;
for t:=0 to 6 do begin y := y+ #9 + FloatToStr(l[t])+ #13;
label3.Caption := 'l[t] - интенсивность отказа '+ #13 + #13 + y + #13;
end;
// E(t) - Эспоненциальный закон распределения отказа
for t:=0 to 6 do begin e[t]:= (exp(-l[t]*10)); end;
for t:=0 to 6 do begin z1 := z1+ #9 + FloatToStr(e[t])+ #13;
label5.Caption := 'E[t] - Эспоненциальный закон распределения отказа '+#13+#13+z1+#13;
end;
//Матожидание наработки до отказа
for t:=1 to 6 do begin m[t]:=1/l[t]; end;
for t:=0 to 6 do begin z3 := z3+ #9 + FloatToStr(m[t])+ #13;
label6.Caption := 'm[t] - Матожидание наработки до отказа '+#13+#13+z3+#13;
end;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
form2.show
end;
end.
Размещено на Allbest.ru
Подобные документы
Разработка сложных проектов. Значение вероятности безотказной работы системы и интенсивности отказов ее элементов. Логические операции, связывающие исходные и результирующие события отказов. Определение функции надежности. Вероятность безотказной работы.
курсовая работа [256,5 K], добавлен 09.02.2013Сущность и критерии измерения надежности технической системы, пути влияния, методы повышения. Резервирование как способ повышения надежности, его разновидности, отличительные признаки. Надежность резервированной системы с автоматом контроля и коммутации.
контрольная работа [94,9 K], добавлен 06.02.2010Расчет надежности функционирования систем (Лисп-реализация). Схема включения конденсаторной батареи, показатели интенсивности отказов и вероятности безотказной работы за год. Функциональные модели и блок-схемы решения задачи. Примеры выполнения программы.
курсовая работа [349,5 K], добавлен 25.01.2010Расчет показателей надежности резервированной невосстанавливаемой системы с нагруженным резервом, состоящей из двух одинаковых электронных блоков. Графики вероятностей безотказной работы. Плотность вероятности отказа. Коэффициент вынужденного простоя.
контрольная работа [301,8 K], добавлен 23.01.2014Особенности параллельного соединения резервного оборудования системы. Надежность системы в случае комбинаций отказов и внешних воздействий. Вероятность безотказной работы модифицированной системы с параллельно-последовательным (смешанным) соединением.
лекция [256,2 K], добавлен 03.01.2014Влияние на надежность системы числа резервных блоков, интенсивности восстановления, интенсивности отказов, интенсивности отказов при облегченном режиме работы. Показатели надежности при нагруженном резервировании. Вероятность безотказной работы системы.
курсовая работа [1,4 M], добавлен 06.08.2013Структурная схема надежности технической системы Построение диаграммы изменения вероятности безотказной работы системы от времени наработки в диапазоне снижения вероятности. Определение процентной наработки технической системы и ее увеличение.
контрольная работа [475,3 K], добавлен 22.04.2009Определение частоты и интенсивности отказов, вероятности безотказной работы и среднего времени наработки на отказ партии изделий при проведении испытаний в течение заданного промежутка времени с помощью программы, написанной на языке программирования С++.
лабораторная работа [101,2 K], добавлен 05.03.2015Структурная схема надежности технической системы Построение диаграммы изменения вероятности безотказной работы системы от времени наработки в диапазоне снижения вероятности. Определение процентной наработки технической системы и ее увеличение.
контрольная работа [448,9 K], добавлен 27.04.2009Построение графика изменения вероятности безотказной работы системы согласно структурной схемы. Порядок определения процентной наработки технической системы, обеспечение ее увеличения за счет повышения надежности элементов, структурного резервирования.
контрольная работа [482,9 K], добавлен 12.05.2009