Содержание к диссертации
Введение
ГЛАВА 1 Состояние вопроса и постановка задачи 23
1.1 Статистическое моделирование надежности 28
1.1.1 Простое статистическое моделирование с введением ошибок в программные средства 28
1.1.2 Статистическая модель Литтлвуда-Веррола 29
1.2 Аналитическое моделирование надежности 30
1.3 Прогнозирование надежности сложных программных средств 34
Выводы по главе 1 37
ГЛАВА 2 Оценка надежности программных средств по их структуре и надежности компонентов 38
2.1 Различие в подходе к надежности сложных программных средств и аппаратуры 38
2.2 Системный подход к программным средствам. Оценка надежности сложных программных средств 40
2.3 Построение и исследование матрицы переходных вероятностей Марковского процесса з
2.4 Вычисление частотного коэффициента v по матрице переходных вероятностей Марковского процесса 49
2.5 Основные формулы математической модели 53
2.6 Особенности математической модели надежности 64
2.7 Прогнозирующий характер разработанной модели оценки надежности сложных программных средств 66
2.8 Сравнение предлагаемой модели надежности сложных программных средств с ранее существовавшими моделями 67
2.9 Экспериментальная проверка математической модели надежности сложных программных средств автоматизированных систем управления. 72
2.10 Методика проверки разработанной модели прогнозирования и оценки надежности сложных программных средств 73
2.11 Практическая реализация методики проверки модели оценки и прогнозирования надежности программных средств 78
Выводы по главе 2 84
ГЛАВА 3 Моделирование надежности сложных программных средств на базе искусственных нейронных сетей 87
3.1 Объектно-ориентрованный подход к программированию и модель прогнозирования и оценки надежности ПС АСУ 87
3.2 Преобразование формулы для моделирования интенсивности отказов сложных программных средств 88
3.3 Использование искусственных нейронных сетей для прогнозирования
надежности сложных программных средств автоматизированных систем управления 91
3.4 Разработка многослойной модульной вычислительной системы для моделирования надежности сложных программных средств 95
3.5 Разработка структуры многослойной модульной вычислительной системы для моделирования надежности 97
Выводы по главе 3 99
ГЛАВА 4 Технология реализации больших искусственных нейронных сетей МОДУС-НС 100
4.1 Модель надежности сложных программных средств на базе искусственных нейронных сетей 100
4.2 Разработка технологии МОДУС-НС для создания модели надежности сложных программных средств 105
4.3 Разработка архитектуры и протокола транспортной сети обмена данными 107
4.4 Оптимизация трафика информации в многослойной модульной вычислительной системе 113
4.5 Постановка задачи оптимизации трафика информации в многослойной модульной вычислительной системе 114
4.6 Метод решения задачи оптимизации трафика информации для многослойной модульной вычислительной системы 115
4.7 Маршрутизация информации в многослойной модульной вычислительной системе 117
4.8 Структура нейронной сети в МОДУС-НС 118
4.9 Коммутаторная структура фрагмента ИНС в МОДУС-НС 119
4.10 Экспорт и импорт информации в домены в МОДУС-НС 120
4.11 Инициализация модулей многослойной модульной вычислительной системы в МОДУС-НС 122
4.12 Макетирование аппаратно-программной системы по технологии МОДУС-НС 123
4.13 Особенности использования генетических алгоритмов при обучении нейронных сетей 124
4.14 Послойное обучение многослойной модульной вычислительной системы 130
Выводы по главе 4 133
ГЛАВА 5 Оптимизация затрат на обеспечение надежности сложных программных средств 135
5.1 Постановка задачи оптимизации надежности сложных программных средств и выбор метода ее решения 137
5.2 Решение оптимизационной задачи на основе принципа Беллмана 139
5.3 Решение оптимизационной задачи с использованием искусственных нейронных сетей 143 Выводы по главе 5 144
Заключение 145
Основные результаты и выводы работы
Приложения 151
Приложение А Вывод формулы оценки погрешности при переходе от дискретного к непрерывному аргументу интенсивности отказов 151
Приложение Б. Вывод расчетных формул алгоритма оптимизации 154
Приложение В. Методика распределения времени отладки между модулями программных средств автоматизированных систем управления, обеспечивающая заданную надежность 157
Приложение Г. Расчет экономической эффективности от внедрения разработанной модели оценки и прогнозирования надежности программных средств 162
Приложение Д. Программа для проведения экспериментальной проверки разработанной модели оценки и прогнозирования надежности ПС 165
Приложение Е. Реализация макета многослойной модульной вычислительной системы по технологии МОДУС-НС 169
Список литературы
- Простое статистическое моделирование с введением ошибок в программные средства
- Вычисление частотного коэффициента v по матрице переходных вероятностей Марковского процесса
- Преобразование формулы для моделирования интенсивности отказов сложных программных средств
- Разработка технологии МОДУС-НС для создания модели надежности сложных программных средств
Простое статистическое моделирование с введением ошибок в программные средства
Диссертация соответствует формуле научной специальности 05.13.01-«Системный анализ, управление и обработка информации (по отраслям)», посвящена вопросам анализа, моделирования, оптимизации, совершенствования управления и принятия решений, с целью повышения эффективности функционирования объектов исследования - сложных программных средств управления техническими системами. Значение решенных в работе научных и технических проблем для народного хозяйства состоит в разработке новых и совершенствовании существующих методов повышения эффективности, надежности и качества ПС АСУ технических систем и включает следующие области исследования[4]: Методы и алгоритмы прогнозирования и оценки эффективности, качества и надежности сложных систем (п.11 ). В главе второй работы проведен вывод формулы для количественной оценки показателей надежности (интенсивности отказов) сложных программных средств с учетом времени проектирования, структуры и состава. В главе третьей работы предложен способ количественной оценки интенсивности отказов сложных программных средств на базе искусственных нейронных сетей. В разделе 5 рассмотрен метод оптимизации процесса разработки сложных программных средств, повышающий их эффективность и качество.
Теоретико-множественный и теоретико-информационный анализ сложных систем (п.8). В главе второй на основе анализа взаимодействия модулей проведена количественная оценка показателей надежности сложных программных средств.
Разработка специального математического и алгоритмического обеспечения систем анализа, оптимизации, управления, принятия решений и обработки информации (п.5). В главе пятой работы предложен способ обучения ИНС для конкретной задачи моделирования показателей надежности сложных программных средств и приведен алгоритм его функционирования.
Методы и алгоритмы интеллектуальной поддержки при принятии управленческих решений в технических системах (п.10). В главах четыре и пять разработан новый способ построения ИНС, позволяющий, без дополнительных доработок создавать сложные системы с элементами искусственного интеллекта, в том числе автоматизированные системы управления и системы принятия решений.
Разработка методов и алгоритмов решения задач системного анализа, оптимизации, управления, принятия решений и обработки информации (п.4). В шестой главе предложены метод и алгоритмы оптимизации процесса разработки сложных программных средств. На защиту выносятся: 1. Комплекс моделей прогнозирования и оценки надежности сложных ПС. 2. Метод построения нейросетевой модели для прогнозирования и оценки надежности ПС с помощью ИНС особой структуры. 3. Метод создания искусственных коммутаторно-доменных ИНС для прогнозирования и оценки надежности сложных ПС АСУ.
Степень достоверности и апробация работы. Результаты диссертационной работы внедрены в образовательный процесс на факультете «Информационные технологии и системы управления» ФГБОУ ВПО МГТУ «СТАНКИН» (в виде лабораторного практикума и разделов лекционных курсов) и использованы при подготовке бакалавров и магистров в рамках следующих образовательных программ: «Распределенные системы управления технологическими процессами», а также на факультете «Системы управления, информатика и электроэнергетика» ФГБОУ ВПО Московского авиационного института (Национального исследовательского университета) по направлениям «Вычислительные машины, комплексы, системы и сети», «Программное обеспечение средств вычислительной техники и автоматизированных систем», «Автоматизированные системы обработки информации и управления», «Программная инженерия». Результаты работы использованы и внедрены в работе по проекту № 1.7 «Архитектурные и системные решения для аппаратно-программных вычислительных комплексов с элементами искусственного интеллекта», выполняемой в соответствии с Программой фундаментальных научных исследований ОНИТ РАН "Архитектурно-программные решения и обеспечение безопасности суперкомпьютерных информационно-вычислительных комплексов новых поколений".
Результаты работы были доложены на заседаниях кафедры «Компьютерные системы управления» ФГБОУ ВПО МГТУ «СТАНКИН», на семинаре кафедры «Вычислительные машины, системы и сети» ФГБОУ ВПО Московского авиационного института (Национального исследовательского университета), на заседании секции «Кибернетика» Центрального дома ученых(2010 и 2012 гг.), а также на Международных конференциях: «Информационные средства и технологии» (2006 г., 2007г, 2008 г., 2009 г., 2010г., 2011 г. Москва), "Стратегия качества в промышленности и образовании" (2009 г., 2010г., Варна, Болгария), «Системы проектирования, технологической подготовки производства и управления этапами жизненного цикла промышленного продукта (CAD/CAM/PDM-2010)» (2010г., 2011г., г. Москва, ИПУ РАН).
Публикации. По результатам работы имеется 43 публикации: 22 статьи в журналах и сборниках, в том числе 20 статей в журналах из перечня рекомендованного ВАК; 12 докладов на международных научно-технических конференциях, 1 учебник для ВУЗов, 5 патентов на изобретение, 5 патентов на полезную модель.
В совместных печатных работах с соавторами, соавторам принадлежит определение области возможного применения результатов работы, а диссертанту принадлежит постановка задачи, разработка математической модели, способов, методов и алгоритмов решения задач.
Вычисление частотного коэффициента v по матрице переходных вероятностей Марковского процесса
Решив систему уравнений, определим значения коэффициентов ai и bi, затем по модели(3.2) прогнозируем изменение надежности программных средств и получим зависимость интенсивности отказов программных средств от времени ее отладки.
Полученный результат имеет теоретическую ценность, однако, его практическое применение в значительной степени ограничено из-за сложности расчета N:
Анализ полученной системы уравнений показывает, что известны способы их решения. Однако при количестве уравнений более двух, способ решения существенно усложняется. Для задачи точного прогнозирования надежности программных средств количество уравнений должно быть существенно большим, делая задачу решения системы уравнений малоперспективной.
Из полученной формулы(З.З) можно сделать вывод, что надежность сложной программной системы можно представить собой сумму экспонент с соответствующими показателями степеней. Для определения интенсивности отказов H(t) по выражению (2.30) или (3.3) необходимо решить задачу определения параметров модели ai, bi Таким образом, требуется оценить 2 N параметров модели.
Использование искусственных нейронных сетей для прогнозирования надежности сложных программных средств автоматизированных систем управления. Современные программные средства АСУ имеют следующие общие свойства:
При разработке используются результаты работы нескольких групп независимых программистов. Разработка программных средств ведется с использованием различных алгоритмических языков, технологий программирования (процедурных, объектно-ориентированных, функциональных и др.), библиотек (классов и программ) и различных инструментальных средств. Все это приводит к различиям в распределении ошибок в разных модулях программы, что вызывает увеличение параметра модели N.
Управляющие аппаратно-программные комплексы объединяют различные технические средства: компьютеры, программируемые логические контроллеры, сетевую аппаратуру и др. устройства с программным управлением. Это также вызывает увеличение параметра модели N.
При разработке широко используются инструментальные и заимствованные программные средства, причем данные о их показателях надежности отсутствуют.
Для прогнозирования традиционно используют временные ряды. Прогнозирование временных рядов - это предсказание будущего поведения системы по имеющимся результатам наблюдений и оценки ее предыдущего поведения [74-77].
Прогнозирование надежности программных средств осуществляется по временному параметру, причем рассматривается время их отладки. Эта задача относится к классу прогнозирования временных рядов, когда осуществляется предсказание будущей интенсивности отказов программных средств по имеющейся последовательности значений интенсивности отказов модулей и сложных ПС, включающих эти модули.
Существуют различные методы решения задачи прогнозирования, причем одним из самых перспективных является использование искусственных нейронных сетей (ИНС).
В настоящее время имеются результаты, показывающие достаточную состоятельность применения ИНС для решения проблемы прогнозирования временных рядов, например, [74-77]. Моделирование надежности сложных программных средств также относится к задачам, решаемых прогнозированием временных рядов.
В сложных программных средствах АСУ техническими объектами число групп модулей N составляет от нескольких тысяч до сотен тысяч компонентов.
При определении интенсивности отказов H(t) по разработанной математической модели (3.3) необходимо решить задачу оценки параметров модели ai, bi Таким образом, требуется оценить 2 N параметров модели.
Для моделирования надежности программных средств АСУ с заданной точностью необходимо использовать большую систему нелинейных уравнений, т.к. значение N велико.
Задача оценки параметра могла бы быть решена традиционным методом или с использованием современных методов искусственного интеллекта, например, генетических алгоритмов. Однако на практике, основными недостатками традиционных методов является то, что Р. Беллман называл «проклятием размерности», когда сложность поиска решения задачи катастрофически увеличивается со значением числа N оцениваемых параметров. традиционные методы при моделировании надежности программных средств АСУ приводит к чрезмерно сложным вычислениям.
Предложено использовать большие искусственные нейронные сети (ИНС) для реализации разработанной модели оценки надежности программных средств (3.3). Перед использованием ИНС необходимо обучить. Для обучения ИНС используется информация об отказах аналогичных программных средств, количество обнаруженных отказов, время безотказной работы модулей.
Используем для моделирования надежности сложных программных средств автоматизированных систем управления техническими комплексами большую ИНС. Во время отладки определим момент времени, когда произошел отказ программных средств. Выборка значений времени безотказной работы является исходной информацией для прогнозирования надежности сложных программных средств.
Для моделирования и прогнозирования надежности сложных программных средств автоматизированных систем управления с использованием ИНС, необходимо решить следующие ключевые задачи: 1. Разработать структуру ИНС, используемой для реализации разработанной модели прогнозирования и оценки надежности программных средств. 2. Разработать метод реализации большой ИНС, с учетом ее структуры. 3. Разработать способ обучения ИНС с учетом особенностей ее структуры, характерный для моделирования и прогнозирования надежности сложных программных средств.
Преобразование формулы для моделирования интенсивности отказов сложных программных средств
Функция 3 имеет минимум, что проиллюстрировано на рис.5.1. Таким образом, существует оптимальное время отладки сложных программных средств (Т0тл), для которого суммарные финансовые потери 3 минимизированы.
Отметим, что оптимальное значение значения расходов на программное обеспечения 3 опт может варьироваться в широком диапазоне значений.
Для сложных технических систем в машиностроении, наиболее существенным будет фактор простоя технологического оборудования. Если стоимость металлообрабатывающего оборудования превосходит 10 млн. долларов США, то расходы на амортизацию будут от Ідо 2 млн. в год или около 5-10 тыс. дол. США в день ли около 1000 долларов США в час.
В разделе 2 была выведена формула (2.12), связывающая интенсивность отказов сложных программных средств с интенсивностью отказов модулей, структурой программных средств и временем выполнения её модулей. Согласно этой формуле, интенсивность отказов
Функция hi(ti) определяет изменение надежности модуля і-той группы при отладке, при этом ti - время отладки этой группы модулей. Характер зависимости H(t) ранее рассматривался в разделе 2 при математическом моделировании надежности. Было установлено, что значение функции H(t) определяется равенствами (2.28) и (2.29) и нелинейно относительно t.
Зафиксируем общее время отладки То. Это время будет складываться из времен отладки всех входящих в систему модулей. Время отладки каждого модуля является неотрицательной величиной. Запишем уравнения и ограничения на ti:
Изменяя значения ti при соблюдении системы ограничений (5.4), будем получать различные значения функции H(ti,i2, ..., t$). Поставим задачу оптимизации функции H(ti,i2, ..., t$) как минимизации значения Н интенсивности отказов программной системы, задаваемой формулой (2.12) при системе ограничений (5.4).
В такой постановке, задача нахождения минимума с учетом нелинейного характера функций hi(ti), может быть решена методами нелинейного математического программирования.
Необходимо отметить, что с увеличением N трудоемкость вычислений резко возрастает, что затрудняет практическое применение методов нелинейного программирования.
Использование ИНС в качестве модели прогнозирования и оценки надежности сложных программных средств системы управления позволяет проводить оценку надежности без предварительного определения числовых параметров модели ( коэффициентов ai и ВІ
Программные средства систем управления включает 100-500, а иногда и больше достаточно крупных программных модулей. При столь больших значениях N многие из методов нелинейного программирования становятся неприемлемыми из-за большого времени работы программ нелинейной оптимизации.
Для решения задачи оптимизации могут применяться как универсальные вычислительные машины, так и управляющие вычислительные системы, являющиеся частью промышленных комплексов. Для универсальных ЭВМ разработано обширное и довольно полное прикладное математическое обеспечение, включающее практически все известные методы оптимизации.
Для управляющих вычислительных комплексов и персональных компьютеров разработаны пакеты прикладных программ, которые содержат библиотеки программ численного анализа и статистики. Выпуски библиотеки включают программы нелинейной оптимизации: нахождение максимума функции многих переменных методом штрафных функций; нахождение минимума функции многих переменных методом случайного поиска.
С помощью подобных программ возможно решение поставленной задачи оптимизации с заданной степенью точности.
При решении задачи оптимизации методом штрафных функций требуется выбор самой штрафной функции, что соответственно сказывается на точности и быстродействии [117,118]. При решении оптимизационной задачи методом случайного поиска необходимо выбрать первоначальное значение переменных из некоторой допустимой области [119,120], что также вызывает определенную сложность.
Рассмотрим программные средства, которые состоят из небольших по объему и простых по структуре программных модулей. Такая структура обычно используется при разработке сложных программных средств.
Для такого частного случая применим алгоритм оптимизации надежности сложных программных средств, основанный на принципе Беллмана [73,121,122]. Оптимизация по методу Беллмана приведена в приложении Б.
Разработка технологии МОДУС-НС для создания модели надежности сложных программных средств
К макету многослойной модульной вычислительной системы предъявляются следующие требования: - демонстрация основных возможностей применения технологии МОДУС НС для построения моделей надежности программных средств, -демонстрация работы модульной вычислительной системы, -реализация разработанной модели для оценки и прогнозирования надежности программных средств, -макет должен содержать все основные типы модулей многослойной вычислительной системы, в том числе базовые (аналоговые и интеллектуальные) и периферийные, - между модулями разного типа должен происходить обмен информацией по беспроводной сети, каждый модуль должен включать процессор, оперативную память и сетевой контроллер для обмена данными, -интеллектуальный модуль должен моделировать работу фрагмента ИНС, -алгоритмический модуль должен реализовать выполнение программы, код которой записан в его памяти .
Для реализации макета многослойной модульной вычислительной системы по технологии МОДУС-НС были использованы установленные в учебной лаборатории контроллеры и инструментальные средства разработки на основе цифровых сигнальных процессоров компании Texas Instruments.
Макет многослойной модульной вычислительной системы включал 6 контроллеров этой фирмы, из них 3 контроллера модели TMDSEZS2812 и 3 контроллера модели TMS320C6416.
Контроллеры TMDSEZS2812 являются однопроцессорными устройствами с тактовой частотой 150 MHz, имеют 18К слов встроенной в микросхему RAM памяти, 128 К слов Flash ROM памяти и 64К слов RAM внешней памяти на плате. Имеющиеся контроллеры предназначены для использования, в основном, как цифровые сигнальные процессоры и имеют необходимые для макетирования сетевые возможности.
Контроллеры TMS320C6416 являются высокоскоростными цифровыми сигнальными процессорами с фиксированной арифметикой, с временем цикла процессора до 1.39-ns, что обеспечивает быстродействие до 5760 MIPS.
При разработке макета использовалось инструментальное программное обеспечение, включая специальную версию широко применяемого программного продукта Code Composer Studio и средство виртуального моделирования и прототипирования Matlab & Simulink. С помощью этих средств была разработана программа для эмуляции работы модуля МОДУС-НС на языке С для соответствующих моделей контроллеров.
В макете многослойной модульной вычислительной системы шесть контроллеров были соединены с помощью беспроводной сети и эмулировали работу шести модулей по технологии МОДУС-НС, см. рис. ПЕЛ.
Схема макета многослойной модульной вычислительной системы В состав макета многослойной модульной вычислительной системы входят см. рис. П.6.1: 1- Один периферийный модуль Рі, на базе контроллера модели TMDSEZS2812 для ввода и вывода информации. 2- Один алгоритмический модуль Аі, на базе контроллера модели TMDSEZS2812. 171 3- Один интеллектуальный модуль Ni, на базе контроллера модели TMDSEZS2812. 4- Три интеллектуальных модуля N2..N4, на базе контроллеров модели TMS320C6416. Проведенные испытания показали полную работоспособность макета многослойной модульной вычислительной системы при максимальном количестве нейронов ИНС около 50000.
Как альтернатива разработанному макету многослойной модульной вычислительной системы на базе контроллеров по технологии МОДУС-НС была рассмотрена реализация на базе программируемых логических интегральных схем (ПЛИС). Для создания второго макета многослойной модульной вычислительной системы по технологии МОДУС-НС использовались ПЛИС Virtex - Е фирмы Xilinx. Для проектирования чипа использовался пакет Xilinx ISElO.li.
Существенным преимуществом использования ПЛИС, в частности, Xilinx, является возможность создания и проверки аппаратно прошиваемого кода, разработанного с применением известной среды программирования, например, Borland C++Builder, Matlab & Simulink или САПР PC AD.
Алгоритм работы устройства создается в виде программного кода, например, на языке C++ или в среде визуального программирования.
Для создания макета был выбран пакет программ Matlab-Simulink R2008b, дополненный библиотекой элементов Xilinx из пакета программ Xilinx ISE 11.
На первом этапе была создана модель базового модуля по технологии МОДУС-НС. С помощью инструментальных средств Matlab & Simulink были выбраны элементы, которые моделируют работу базового модуля.
На следующем этапе была создана модель для Xilinx, где указан тип используемой ПЛИС и ряд технических параметров. С применением средств Xilinx была проведена симуляция работы базового модуля.
На третьем этапе был подготовлен файл для прошивки ПЛИС, после чего была выполнена прошивка ПЛИС. В процессе прошивки были указаны параметры ПЛИС. Проведены испытания макета многослойной модульной вычислительной системы на основе ПЛИС. Испытания показали, что макет полностью имитирует работу многослойной модульной вычислительной системы и способен реализовать разработанную модель оценки и прогнозирования надежности программных средств.