Математические методы моделирования, управления и анализа данных
УДК 004.60
ХАРАКТЕРИСТИКА НАДЕЖНОСТИ ПРОГРАММНЫХ МОДУЛЕЙ
М. В. Сарамуд, П. В. Зеленков, И. В. Ковалев, Д. И. Ковалев, В. В. Брезицкая
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
Описываются характеристики надежности программного обеспечения информационно-управляющих систем, понятия сбоя и отказа, правильной и надежной программы.
Ключевые слова: программное обеспечение, информационно-управляющая система, надежность.
CHARACTERISTICS OF SOFTWARE MODULE RELIABILITY
M. V. Saramud, P. V. Zelenkov, I. V. Kovalev, D. I. Kovalev, V. V. Bresizkaja
Reshetnev Siberian State Aerospace University 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]
The paper describes the characteristics of software reliability of management information systems, the concepts of failure and rejection, correct and reliable program.
Keywords: software, information management system, reliability.
В настоящее время предложено множество подходов, которые призваны обеспечить надежность программ, среди которых и различные технологии, и программные средства, и методологии разработки. Использование этих средств порой требует значительных ресурсов, однако, в связи с тем, что данные технологии зачастую не связаны друг с другом и между ними не существует единых критериев определения надежности, не представляется возможным ответить на вопрос, становится ли программное обеспечение надежнее от применения этих технологий. Исходя из этого, можно сделать вывод, что прежде чем пытаться обеспечить надежность с помощью различных средств и технологий, вначале необходимо разработать метод, который позволял бы получить достоверные характеристики надежности программного обеспечения.
Проблема надежности программного обеспечения (ПО) стала объектом особого внимания с самого начала развития средств машинной обработки информации. В начале внимание исследователей было привлечено к аппаратной надежности, но достаточно быстро стало понятно, что больше всего ресурсов уходит на исправление ошибок в программах. В то же время встала и другая проблема - возникла необходимость дать стандартное определение программной ошибки и надежности программы, для однозначного определения факта её наличия и проблемы, в результате которой она возникла.
Надежность технических систем определяется в основном двумя факторами: надежностью компонентов и ошибками в модели системы, допущенными при проектировании или изготовлении. Относительно невысокая надежность компонентов, их глубокая
взаимозависимость и способность к разрушению, старению или снижению надежности в процессе эксплуатации привели к тому, что этот фактор оказался превалирующим для надежности аппаратуры. Надежность ПО информационно-управляющей системы (ИУС) определяется теми же двумя факторами. Однако соотношение их влияния иное. Хранение программ на магнитных или иных носителях при отсутствии внешнего вмешательства характеризуется очень высокой надежностью. Доминирующим для надежности ПО ИУС является второй фактор - ошибки проектирования [1].
Программа любой сложности и назначения при строго фиксированных исходных данных и абсолютно надежной аппаратуре исполняется по однозначно определенному маршруту и дает на выходе строго определенный результат. Однако случайное изменение исходных данных и накопленной при обработке информации, а также множество условных переходов в программе создают огромное количество различных маршрутов исполнения для каждой программной системы. Такое количество вариантов исполнения программы нельзя проверить полностью из-за ограничений на длительность отладки и приемочных испытаний. Источниками ненадежности являются непроверенные сочетания исходных данных, при которых ПО дает неверные результаты или отказы.
Понятие отказа связано с нарушением работоспособности изделия и его соответствия требованиям технической документации. Отказ при исполнении программ может проявиться как следствие нарушения кодов записи программ в памяти команд стирания или искажения данных в оперативной или долговременной памяти ЭВМ; нарушения нормального хода вычислительного процесса.
Решетнеескцие чтения. 2015
Во всех случаях программные отказы приводят к прекращению выдачи пользователям информации и управляющих воздействий или к значительному искажению ее содержания и темпа выдачи.
Понятие «сбой» в теории надежности трактуется как самоустраняющийся отказ, не требующий внешнего вмешательства для замены отказавших компонентов. Таким образом, понятия «сбой» и «отказ» применительно к аппаратуре отличаются степенью физического разрушения компонентов и необходимостью их замены. В процессе обработки данных обычно отсутствует физическое разрушение программ и не требуется замена или ремонт каких-либо материальных компонентов. Основной принцип классификации сбоев и отказов - разделение по временному показателю длительности восстановления после любого искажения программы, данных или вычислительного процесса. При длительности восстановления, меньшей заданного порога, аномалии при функционировании программ следует относить к сбоям. При восстановлении, превышающем по длительности пороговое значение и нарушающем работоспособность программ, искажения соответствуют отказу. Отсюда возникает задача классификации аномалий при функционировании программ на два типа: достаточные для нарушения работоспособности системы и малые отклонения от требований технической документации, при которых работоспособность сохраняется [2]. Ниже учитываются только значительные искажения программ, данных или вычислительного процесса, достаточные для нарушения работоспособности.
Понятие правильной (корректной) программы может рассматриваться статически вне временного функционирования. Степень некорректности программ можно характеризовать вероятностью попадания в область исходных данных, которая предусматривалась требованиями спецификации, однако не была проверена при тестировании и испытаниях.
Таким образом, неправильность программы определяется вероятностью совмещения следующих событий: попадания исходных данных в область, заданную требованиями спецификации, но не проверенную при отладке и испытаниях; проявления ошибки в программе при обработке таких данных.
Правильность программы неопределенна вне области изменения данных, заданной спецификацией, и не зависит от динамики функционирования программ в реальном времени [3].
Надежная программа прежде всего должна обеспечивать низкую вероятность отказа в процессе реального функционирования. Быстрое реагирование на искажения программ, данных или вычислительного процесса и восстановление работоспособности за время меньшее, чем порог между сбоем и отказом, позволяют обеспечить высокую надежность программы. При этом неправильная программа может функционировать, в принципе, абсолютно надежно. Действительно, если при каждом появлении реальных исходных данных, стимулирующих неправильные результаты, они не приводят к событиям, соответствующим отказу, то такая программа функционирует безотказно и надежно, хотя и не всегда правильно [4; 5].
Библиографические ссылки
1. Зеленков П. В., Ковалев И. В., Брезицкая В. В. Инструментальные средства формирования мульти-версионной архитектуры отказоустойчивых программных систем / М-во сельского хоз-ва Российской Федерации ; Красноярский гос. аграрный ун-т. 2011. С. 152.
2. Стельмах В. О., Ковалев И. В. Построение отказоустойчивых систем управления на основе муль-тиверсионного подхода // Информационно-телекоммуникационные системы и технологии (ИТСИТ-2012) : материалы Всерос. молодеж. конф. 2012. С. 172-173.
3. Ковалёв П. В. Графоаналитический метод анализа мультиверсионных архитектур программного обеспечения // Международный журнал прикладных и фундаментальных исследований / Академия естествознания. 2009. № 6. С. 70.
4. Kovalev I., Zelenkov P., Ognerubov S. The minimization of inter-module interface for the achievement of reliability of multi-version software // IOP Conference Series: Materials Science and Engineering 17. Сер. XVII International Scientific Conference "Reshetnev Readings". 2015. С. 012006.
5. Kovalev I. V., Zelenkov P. V., Tsarev M. Y. The control of developing a structure of a catastrophe-resistant system of information processing and control // IOP Conference Series: Materials Science and Engineering 17. Сер. XVII International Scientific Conference "Reshetnev Readings". 2015. С. 012008.
References
1. Zelenkov P. V., Kovalev I. V., Brezitskaya V. V. Instrumental'nye sredstva formirovaniya mul'tiversionnoi arkhitektury otkazoustoichivykh programmnykh system.
M-vo sel'skogo khoz-va Rossiiskoi Federatsii, FGBOU VPO "Krasnoyarskii gos. agrarnyi un-t". 2011. S. 152.
2. Stel'makh V. O., Kovalev I. V. Postroenie otkazoustoichivykh sistem upravleniya na osnove mul'tiversionnogo podkhoda. Materialy vserossiiskoi molodezhnoi konferentsii "Informatsionno-telekommunika-tsionnye sistemy i tekhnologii (ITSIT-2012)". 2012. S. 172-173.
3. Kovalev P. V. Grafoanaliticheskii metod analiza mul'tiversionnykh arkhitektur programmnogo obespecheniya // Mezhdunarodnyi zhurnal prikladnykh i fundamental 'nykh issledovanii, Akademiya estestvo-znaniya. 2009. № 6. S. 70.
4. Kovalev I., Zelenkov P., Ognerubov S. The minimization of inter-module interface for the achievement of reliability of multi-version software // IOP Conference Series: Materials Science and Engineering 17. Сер. XVII International Scientific Conference "ReshetnevReadings" 2015. С. 012006.
5. Kovalev I. V., Zelenkov P. V., Tsarev M. Y. The control of developing a structure of a catastrophe-resistant system of information processing and control // IOP Conference Series: Materials Science and Engineering 17. Сер. XVII International Scientific Conference "ReshetnevReadings" 2015. С. 012008.
© Сарамуд М. В., Зеленков П. В., Ковалев И. В., Ковалев Д. И., Брезицкая В. В., 2015