Автоматизация оценки надежности программного обеспечения для систем управления технологическими процессами
Средства повышения надежности автоматизированных систем управления. Разработка структуры автоматизированной системы для мониторинга надежности программного обеспечения. Способы прогнозирования, оценки и контроля надежности программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 27.05.2018 |
Размер файла | 73,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
УДК 519.6, 004.89
Автоматизация оценки надежности программного обеспечения для систем управления технологическими процессами
Ю.М. Соломенцев, С.А. Шептунов,
Н.В. Суханова, И.С. Кабак
Разработана структура автоматизированной системы для мониторинга надежности программного обеспечения.
Ключевые слова: программное обеспечение, надежность, отказ, модель, нейронная сеть, автоматизированная система.
Надежность - это один из главных показателей качества программного обеспечения. В настоящее время программное обеспечение (ПО) автоматизированных систем управления технологическими процессами (АСУ ТП) является самым сложным и дорогостоящим продуктом. Для реализации проектов в области автоматизации требуется создание новых программных средств, а также доработка, адаптация, перенос уже имеющегося программного обеспечения. Пользователи предъявляют высокие требования к качеству работы АСУ ТП, в том числе к их надежности.
Область исследований и испытаний программного обеспечения на надежность пока не автоматизирована, отсутствуют инструментальные средства, позволяющие дать обоснованную оценку показателей надежности на всех этапах жизненного цикла программного обеспечения.
Главным и основным источником информации о надежности программного обеспечения являются испытания на надежность. Оценка показателей надежности и проведение испытаний на надежность регламентируются ГОСТами семейства 27.000, которые устанавливают порядок и время проведения этих испытаний. Для получения статистически достоверных результатов требуется собрать и обработать выборку значений времени наработки до отказа, содержащую от 100 до 1000 и более значений. Получить такую выборку не представляется возможным, так как при высокой надежности программного обеспечения время испытаний может исчисляться годами.
Процесс разработки, отладки и тестирования программного обеспечения пока автоматизирован лишь частично, причем в нем отсутствуют средства сбора и анализа данных о надежности.
После приемки и ввода в эксплуатацию автоматизированной системы выявляют и устраняют ошибки в программном обеспечении. Цена исправления таких ошибок существенно выше, чем затраты на испытания и отладку программы на этапе ее разработки.
Актуальность темы исследования обусловлена необходимостью автоматизации испытаний программного обеспечения на надежность, предварительной оценки показателей надежности в процессе разработки и обеспечения гарантированной работоспособности в процессе эксплуатации.
Цель исследования - повышение надежности программного обеспечения автоматизированных систем управления технологическими процессами.
Для достижения поставленной цели необходимо решить следующие задачи:
- провести анализ известных средств повышения надежности автоматизированных систем управления;
- разработать структуру автоматизированной системы для мониторинга надежности программного обеспечения;
- разработать способ прогнозирования, оценки и контроля надежности программного обеспечения.
Проведенный анализ показал, что для повышения надежности аппаратной части автоматизированных систем управления чаще всего используют следующие способы [1]:
- повышение надежности элементов системы;
- резервирование элементов.
Для программного обеспечения автоматизированных систем управления эти методы не применяют по следующим причинам:
- повышение надежности элементов программного обеспечения означает увеличение объема и продолжительности их тестирования;
- резервирование элементов программного обеспечения не используется, так как оно существенно увеличивает затраты и сроки разработки.
Таким образом, для повышения надежности программного обеспечения автоматизированных систем управления необходимо разработать новые способы и инструментальные средства.
Разработана структура системы мониторинга надежности программного обеспечения, которая обеспечивает автоматизацию процесса прогнозирования, оценки и контроля надежности ПО в процессе его разработки и эксплуатации (рис. 1).
Автоматизированная система мониторинга надежности ПО работает в составе операционной системы реального времени (ОС РВ) и выполняет следующие действия:
1) запуск ПО, контроль его работоспособности, обнаружение отказа, останов ПО, его повторный запуск;
2) расчет наработки до отказа, формирование выборки значений времени наработки до отказа, которое определяют по формуле
,
где toi - наработка до i-го отказа; tfi - время обнаружения i-го отказа; tsi - время запуска ПО; i- количество обнаруженных отказов ПО;
3) оценка текущего уровня надежности ПО на основе выборки значений времени наработки до отказа и расчет интенсивности отказов h(t), где t - текущее время;
4) прогноз надежности ПО на основе выборки значений времени наработки до отказа, расчет интенсивности отказов h(t+dt), где t - текущее время, dt - интервал прогнозирования;
5) контроль надежности ПО по предельным значениям, указанным в техническом задании на ПО.
Рис. 1. Структура автоматизированной системы для мониторинга надежности ПО
Для прогнозирования, оценки и контроля надежности используется модель на базе нейронной сети специального вида [2-4]. Нейронная сеть предварительно обучается по выборке значений времени наработки до отказа. В процессе работы проводится дополнительное обучение ИНС, с учетом полученных новых значений времени наработки до отказа.
Способ оценки интенсивности отказов ПО приведен на рис. 2. Показатель надежности оценивается с заданной точностью относительно целевого уровня h, указанного в техническом задании на систему. Требуется определить время отладки t, за которое система достигнет требуемого уровня надежности h(t). Аналитические, статистические и модели на базе нейронных сетей позволяют получить приближенную оценку для показателя надежности h(t).
Рис. 2. Оценка интенсивности отказов ПО: 1- без использования моделей для оценки надежности; 2 - с использованием аналитических и статистических моделей для оценки надежности; 3 - с использованием модели для оценки и прогнозирования надежности на базе искусственной нейронной сети
Отладка ПО традиционным способом, без привлечения средств автоматизации и моделей для оценки показателя надежности, займет длительное время t1.
В момент времени отладки t3 интенсивность отказов ПО равна значению h1, которое существенно выше целевого уровня h, т. е. h1>h (рис. 2). Необходимо получить оценку интервала времени Дt, за который интенсивность отказов ПО достигнет уровня h, установленного в техническом задании. Без использования моделей оценки надежности невозможно получить достаточно точную оценку интервала времени Дt. Время отладки увеличивается, и разработчик несет дополнительные затраты.
Возможны следующие ситуации, когда проект разработки АСУ ТП оказывается под угрозой срыва из-за низкого качества ПО:
1) срок сдачи ПО АСУ ТП уже прошел, а система все еще не готова к вводу в эксплуатацию из-за наличия в ПО скрытых, невыявленных ошибок;
2) в процессе работы АСУ ТП выявляются ошибки в ПО, которые требуют существенной переработки кода и или структуры ПО.
При использовании аналитических и статистических моделей для оценки надежности можно уменьшить время отладки до величины t2 путем сопоставления экспериментального и модельного значений показателя надежности. Задают точность оценки и по модели прогнозируют время отладки.
Для оценки и прогнозирования надежности была разработана модель на базе обученной искусственной нейронной сети [5-6]:
(1)
где H(t) - оценка интенсивности отказов ПО; ai, bi - параметры модели; t - время отладки; N - число компонентов ПО.
Модель (1) была реализована с использованием больших искусственных нейронных сетей (ИНС). Перед использованием ИНС необходимо обучить. Для обучения ИНС используется информация об отказах программного обеспечения.
Применение разработанной прогнозирующей модели для оценки надежности на базе искусственной нейронной сети [5; 6] позволяет сократить время отладки до значения t3 за счет рационального и обоснованного распределения общего времени отладки между отдельными компонентами ПО. В результате получен выигрыш по времени отладки ПО, который составляет
.
Улучшение показателя надежности по сравнению с традиционным способом равно величине
.
Итак, разработана структура автоматизированной системы для мониторинга надежности программного обеспечения. Для оценки и прогнозирования надежности ПО разработана модель на базе обученной искусственной нейронной сети [5; 6], которая позволяет существенно сократить время отладки за счет рационального и обоснованного распределения общего времени отладки между отдельными компонентами ПО.
автоматизированный программный надежность
Список литературы
1. Надежность технических систем: справочник / Ю.К. Беляев, В.А. Богатырев, В.В. Болотин [и др.]; под ред. И. А. Ушакова. - М.: Радио и связь, 1985. - 608 с.
2. Нейронная сеть: пат. на полез. модель № 66831/ Кабак И.С., Суханова Н.В. - Бюл. изобрет. и полез. моделей; приоритет 02.04.07. - 3 с.
3. Доменная нейронная сеть: пат. на полез. модель № 72084 / Кабак И.С/, Суханова Н.В. - Бюл. изобрет. и полез. моделей; приоритет 03.12.07. -3 c.
4. Многослойная модульная вычислительная система: пат. на изобрет. №2398281 / Соломенцев Ю.М., Шептунов С.А/, Кабак И.С., Суханова Н.В. - Бюл. изобрет. и полез. моделей; приоритет 07.11.08. - 5 c.
5. Кабак И.С. Оценка надежности программного обеспечения по его математической модели / И.С.Кабак, Г.Н. Рапопорт // Проблемы создания гибких автоматизированных производств / под. ред. И.М. Макарова, К.В. Фролова, П.Н. Белянина. - М.: Наука, 1987. - С. 236-245.
6. Кабак И.С. Повышение надежности программного обеспечения системы управления / И.С. Кабак, Н.В. Суханова //Электронный журнал BC/NW. - 2008. - №2 (13).
Размещено на Allbest.ru
...Подобные документы
Действия, которые выполняются при проектировании АИС. Кластерные технологии, их виды. Методы расчета надежности на разных этапах проектирования информационных систем. Расчет надежности с резервированием. Испытания программного обеспечения на надежность.
курсовая работа [913,7 K], добавлен 02.07.2013Ошибки, которые воздействуют на программное обеспечение и методы прогнозирования программных отказов. Анализ моделей надежности программного обеспечения и методика оценки ее надежности. Экспоненциальное распределение. Методика оценки безотказности.
курсовая работа [71,5 K], добавлен 15.12.2013Надежность системы управления как совокупность надежности технических средств, вычислительной машины, программного обеспечения и персонала. Расчет надежности технических систем, виды отказов САУ и ТСА, повышение надежности и причины отказов САУ.
курс лекций [228,2 K], добавлен 27.05.2008Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода Монте-Карло. Влияние количества программ-клиентов на поведение программной системы клиент-сервера.
контрольная работа [705,3 K], добавлен 03.12.2010Модель надежности программного средства как математическая модель для оценки зависимости надежности программного обеспечения от некоторых определенных параметров, анализ видов. Общая характеристика простой интуитивной модели, анализ сфер использования.
презентация [151,1 K], добавлен 22.03.2014Постановка проблемы надежности программного обеспечения и причины ее возникновения. Характеристики надежности аппаратуры. Компьютерная программа как объект исследования, ее надежность и правильность. Модель последовательности испытаний Бернулли.
реферат [24,8 K], добавлен 21.12.2010Особенности аналитической и эмпирической моделей надежности программных средств. Проектирование алгоритма тестирования и разработка программы для определения надежности ПО моделями Шумана, Миллса, Липова, с использованием языка C# и VisualStudio 2013.
курсовая работа [811,5 K], добавлен 29.06.2014Проблема надежности программного обеспечения, ее показатели и факторы обеспечения. Методы контроля процесса разработки программ и документации, предупреждение ошибок. Этапы процесса отладки ПО, приемы структурного программирования и принцип модульности.
презентация [379,5 K], добавлен 30.04.2014Надежность как характеристика качества программного обеспечения (ПО). Методика расчета характеристик надежности ПО (таких как, время наработки до отказа, коэффициент готовности, вероятность отказа), особенности прогнозирования их изменений во времени.
дипломная работа [1,2 M], добавлен 01.06.2010Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Назначение и специфика программного обеспечения "NordVision". Оценка его качества, надежности, работоспособности и устойчивости. Разработка структуры программы, пользовательского интерфейса и основных алгоритмов. Организация контекстно-зависимой помощи.
дипломная работа [2,5 M], добавлен 24.02.2015Метод вероятностно-алгебраического моделирования. Примеры определения вероятностных характеристик функционально-сложной системы в символьном виде. Получение и добавление данных с сервера "Всемирной организации здравоохранения". Структура базы данных.
курсовая работа [353,4 K], добавлен 22.06.2014Программное обеспечение как продукт. Основные характеристик качества программного средства. Основные понятия и показатели надежности программных средств. Дестабилизирующие факторы и методы обеспечения надежности функционирования программных средств.
лекция [370,1 K], добавлен 22.03.2014История образования ТОО "ABC Design". Разработка программного и информационного обеспечения компьютерных сетей, автоматизированных систем вычислительных комплексов и сервисов. Работа с CRM системой Task Manager и с панелью управления сайтов JOOMLA.
отчет по практике [727,4 K], добавлен 13.07.2017Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Описание моделируемой системы обеспечения надежности АСУ ТП: генерирования заявок, образование очереди перед каналом обработки данных, выполнение заказов. Составление укрупненной схемы моделирующего алгоритма, блок-диаграммы и программы на языке GPSS.
курсовая работа [342,8 K], добавлен 02.07.2011Разработка информационной системы для управления оперативной деятельностью фирмы, занимающейся ремонтом и технической поддержкой компьютеров и программного обеспечения, этапы и особенности. Программные средства реализации проекта, их выбор и обоснование.
дипломная работа [306,6 K], добавлен 28.08.2014Среда Microsoft Visio: понятие, основные функции. Функция автосоединения в Office Visio 2007. Логарифмическая функция правдоподобия. График вероятностей отказа версий программного обеспечения. Визуальное моделирование в UML. Общий вид диаграммы классов.
курсовая работа [53,9 K], добавлен 09.01.2012Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010