автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Комплексирование модулей прикладного программного обеспечения на основе метрических оценок эффективности
Автореферат диссертации по теме "Комплексирование модулей прикладного программного обеспечения на основе метрических оценок эффективности"
На правах рукописи
004618365
ГУБАЙДУЛЛИН Ильдар Ирекович
КОМПЛЕКСИРОВАНИЕ МОДУЛЕЙ ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ МЕТРИЧЕСКИХ ОЦЕНОК ЭФФЕКТИВНОСТИ
Специальность 05.13.11 -Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
Уфа - 2010
2 3 ДЕН 2010
004618365
Работа выполнена на кафедре вычислительной техники и защиты информации ГОУ ВПО «Уфимский государственный авиационный технический университет»
д-р техн. наук, проф. ФРИД Аркадий Исаакович
д-р техн. наук, проф., МАРТЫНОВ Виталий Владимирович,
каф. экономической информатики Уфимского государственного авиационного технического университета
канд. техн. наук,
МАКСИМОВ Сергей Владимирович, каф. программирования и вычислительной математики Башкирского государственного педагогического университета им. М. Акмуллы
Ведущая организация Башкирский государственный университет,
кафедра математического моделирования, г. Уфа
Защита состоится «29» декабря 2010 года в 10:00 часов на заседании диссертационного совета Д-212.288.07 при Уфимском государственном авиационном техническом университете по адресу: 450000, г. Уфа, ул. К. Маркса, 12
С диссертацией можно ознакомиться в библиотеке университета Автореферат разослан «24» ноября 2010 года
Научный руководитель
Официальные оппоненты
Ученый секретарь диссертационного совета д-р техн. наук, проф.
С. С. Валеев
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы
Согласно стандартам в области проектирования программного обеспечения (ПО) вычислительных машин, комплексов и компьютерных сетей, одной из основных характеристик качества ПО является его эффективность. Под эффективностью ПО понимают набор атрибутов, относящихся к соотношению между уровнем качества функционирования ПО и объемом используемых ресурсов при установленных условиях.
В настоящее время технологические процессы в промышленности управляются вычислительными машинами, характеризуемые как программной, так и аппаратной составляющей. Эффективность управления процессом, решением прикладной задачи, во многом определяется эффективностью ПО. Сложность оценки эффективности программ, необходимость учета специфики прикладной задачи, различные требования к уровню качества функционирования программ приводят к необходимости разработки новых методов оценки и обеспечения эффективности программного обеспечения.
В работах как российских, так и зарубежных авторов приведено множество различных методов и моделей качества и метрик ПО. При этом нередко отмечаются проблемы в их использовании. Во многих имеющихся методах обеспечения и оценки эффективности ПО не учитывается влияние исходных данных на результаты работы программы. Например, модели Лилова, Джелинско-го-Моранды, Шика-Волвертона, Литглвуда-Верралла, Миллса, Шумана и др. основываются на данных, полученных в процессе проектирования ПО. Сложность использования этих моделей заключается в том, что они построены на основе известных опытных данных о процессах разработки и не учитывают работу ПО в динамике. Универсальных метрик качества ПО не существует. В настоящее время их насчитывается более 200. При этом для некоторых специфичных программ метрики ПО разработаны недостаточно. Например, имеется целый класс программ, в которых заметную роль играет не только эффективность технологии программирования, но и эффективность математического обеспечения. В таких программах необходим метод оценки, учитывающий специфику прикладной задачи и возможные качественные особенности, связанные, например, с плохой обусловленностью, с неустойчивостью полученных результатов при изменении входных данных. К примеру, в химической промышленности проблема повышения эффективности ПО приобретает особую актуальность в программном модуле определения кинетических параметров каталитических реакций. Обнаружено, что в существующей версии, как правило, в 30% запусков происходит останов дальнейших вычислений, причина которых является невысокая эффективность используемого ПО. При работе в реальных системах остановы могут приводить к огромным экономическим потерям, что связано с потерей дорогостоящих реагентов и катализаторов.
Для специфических задач особую актуальность приобретают динамические метрики, характеризующие такие параметры ПО, как вероятность достижения цели программы, время выполнения, объем занимаемой памяти. Как
правило, эти метрики приобретают разные значения в зависимости от законов распределения исходных данных. Поэтому изучение вопроса изменения метрик в зависимости от законов распределения исходных данных с последующей организацией управления этими метриками в ходе выполнения программного модуля, в частности, на основе идей комплексирования, является актуальной задачей. Хотя комплексирование при проектировании ПО используется, например, в работах Андреева Е. В., Аникина А. А., Зинченко В. П., однако комплексирование здесь рассмотрено с точки зрения прикладной области, и особенности внутренних свойств алгоритмов не учитываются. Механизм реализации идей комплексирования на основе оценивания метрик ПО не разработан.
Выявленные недостатки в существующих методах требуют разработки новых методов и алгоритмов, учитывающих специфику рассматриваемой программы и обеспечивающих требуемый уровень эффективности. В связи с этим, особую актуальность приобретает метод оценки эффективности ПО в зависимости от законов распределения исходных данных. На основе него в диссертационной работе предлагается метод управления эффективностью прикладного ПО путем комплексирования программных модулей.
Объектом исследования является эффективность прикладного ПО.
Предмет исследования - алгоритмы комплексирования программных модулей вычислительных машин на основе оценки эффективности программного обеспечения.
Целью работы является повышение эффективности прикладного ПО на основе комплексирования программных модулей.
Задачи исследования
1. Разработка метода оценки эффективности ПО в зависимости от законов распределения исходных данных.
2. Разработка метода и алгоритма управления эффективностью прикладного ПО на основе комплексирования программных модулей.
3. Разработка алгоритмического и программного обеспечения для оценки эффективности прикладного ПО.
4. Разработка алгоритма и методики проектирования программ с заданным уровнем эффективности.
5. Экспериментальное обоснование полученных результатов в системах реального времени, проведение вычислительных экспериментов на примере задачи определения кинетических параметров каталитических реакций.
Методы исследования
При решении поставленных в диссертационной работе задач использовались методы теории информации, системного анализа, вычислительной математики, моделирования сложных объектов, объектно-ориентированного программирования, теории алгоритмов, принципов и методов алгоритмизации.
Результаты, выносимые на защиту 1. Метод оценки эффективности программного обеспечения в зависимости от законов распределения исходных данных.
2. Метод и алгоритм управления эффективностью ПО на основе комплек-сирования программных модулей в зависимости от законов распределения исходных данных.
3. Алгоритм и методика проектирования программ с заданным уровнем эффективности.
4. Программный комплекс по оценке и управлению эффективностью ПО в зависимости от законов распределения исходных данных.
5. Результаты вычислительных экспериментов на примере задачи определения кинетических параметров каталитических реакций
Научная новизиа результатов работы:
1. Метод оценки эффективности прикладного ПО, основанный на статистических данных, полученных в ходе моделирования работы ПО, отличающийся тем, что используя аппроксимацию законов распределения исходных данных, на основе предлагаемого метода получают статистические зависимости, характеризующие вероятность достижения цели программой.
2. Алгоритм и методика проектирования программ с заданным уровнем эффективности, отличающиеся тем, что на основе выбранных метрик определяются области, характеризующие эффективность ПО в зависимости от законов распределения исходных данных.
3. Метод и алгоритм управления эффективностью ПО на основе комплек-сирования альтернативных программных модулей, эффективность которых зависит от законов распределения исходных данных, отличающиеся использованием метода оценки эффективности ПО с учетом законов распределения исходных данных при реализации алгоритма комплекси-рования, и позволяющие повысить эффективность прикладного ПО в целом.
Практическая значимость и внедрение результатов работы
Практическая ценность результатов, полученных в диссертации:
1. Разработанный метод оценки эффективности программных продуктов и программного комплекса с учетом законов распределения исходных данных позволяет количественно оценить эффективность прикладного ПО и организовать процесс комплексирования.
2. Разработанные метод и алгоритм управления эффективностью ПО на основе комплексирования программных модулей в зависимости от законов распределения исходных данных позволяют увеличить вероятность достижения цели программы.
3. Разработанные алгоритм и методика проектирования прикладных программ с заданным уровнем эффективности позволяют определить диапазоны распределения параметров исходных данных, при которых прикладное ПО работает с заданным уровнем эффективности.
Разработанный программный продукт по расчету кинетических параметров каталитических реакций внедрен в практику работы лабораторий Института нефтехимии и катализа (ИНК) РАН и применяется для построения
кинетических моделей промышленно значимых реакций, используемых в программных модулях системы управления технологическими процессами.
Апробация работы
Основные положения и результаты работы докладывались и обсуждались на следующих научных конференциях и семинарах: XVII Международная конференция по химическим реакторам CHEMREACTOR (Афины-Крит, 2006); Всероссийская молодежная научная конференция «Мавлютовские чтения» (Уфа, 2008); III, IV, V Всероссийская зимняя школа-семинар аспирантов и молодых ученых (Уфа, 2008-2010); 9-я, 10-я и 12-я Международная конференция «Компьютерные науки и информационные технологии» (Уфа, 2007, Анталия, 2008, Москва-Санкт-Петербург, 2010); IX Молодежная научная конференция «Королёвские чтения» (Самара, 2007); студенческие научные конференции УГАТУ (Уфа, 2006-2010); научные семинары лаборатории математической химии ИНК РАН.
В 2009-2010 гг. диссертант являлся стипендиатом Президента Республики Башкортостан.
Связь с научными программами
Работа поддержана грантом РФФИ № 08-08-00357 «Методы проектирования отказоустойчивых программно-аппаратных вычислительных комплексов для систем управления сложными техническими объектами с использованием средств искусственного интеллекта» и грантом Президента Российской Федерации для государственной поддержки ведущих научных школ Российской Федерации № НШ-65497.2010.9
Публикации
Основные положения и результаты исследований по теме диссертации опубликованы в 13 работах, включая 3 статьи в научных изданиях из списка ВАК, 10 публикаций в центральных журналах, материалах Всероссийских и Международных конференций.
Сгруюура и объем работы.
Диссертация состоит из введения, четырех глав основного текста, заключения, списка использованной литературы из 110 наименований, приложений, содержит 43 рисунка и 15 таблиц. Общий объем диссертации составляет 150 страниц.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обосновывается актуальность темы, формулируются цель работы и задачи исследования, отмечается научная новизна и практическая ценность выносимых на защиту результатов.
В первой главе проводится анализ известных методов повышения эффективности прикладного программного обеспечения, выявляются их достоинства и недостатки. Описывается специфика задачи и обосновывается необходимость комплексирования программных модулей вычислительных машин в зависимости от законов распределения исходных данных.
Формулируется проблема выбора метода решения в зависимости от области распределения исходных данных программного модуля. Проблема актуальна, когда априори, до решения задачи, невозможно по наличию исходных данных определить наиболее эффективный метод решения. В качестве примера приведена задача минимизации нулевого порядка при неизвестной поверхности отклика.
Задача, решаемая с помощью ЭВМ, в общем случае может иметь несколько методов решения, каждый из которых может быть представлен определенным множеством алгоритмов. Алгоритмы могут быть реализованы множеством программ. Наличие многих алгоритмов решения одной задачи предоставляет возможность комплексирования программных модулей для обеспечения наибольшей эффективности решения прикладной задачи. Проводится анализ зависимости эффективности ПО от свойств алгоритмов. Среди основных свойств выделены следующие: детерминированность, конечность, наличие системы команд и области допустимых значений исходных данных.
Делается заключение о необходимости исследования задачи на устойчивость, сходимость и на отсутствие неопределенности. В связи с тем, что проверка подобных свойств является практически невыполнимой на этапе проектирования программы, приобретают актуальность методы анализа программ, основанные на их моделировании, в ходе которого проводится анализ программы на устойчивость к малым возмущениям и па отсутствие неопределешюсти.
Для обеспечения эффективности ПО необходима ее количественная оценка, поэтому в работе приводится классификация метрик ПО и анализ зависимости значений некоторых метрик от распределения исходных данных.
В случае комплексирования программных модулей формирование конфигураций итоговой программы происходит за счет использования нескольких методов решения задачи. При этом каждому методу решения соответствует определенный программный модуль, имеющий свои достоинства и недостатки, характеризуемые эффективностью, надежностью, сложностью, точностью. Конфигурирование общей системы основано на оценке критерия, приобретающего наилучшее значение выбранной метрики эффективности ПО за счет допустимого ухудшения остальных метрик.
На основе выполненного анализа, сформулированы цель и задачи исследования.
Вторая глава посвящена разработке метода управления эффективностью прикладного ПО на основе комплексирования программных модулей. Рассматриваются теоретические основы и приводятся примеры применения разработанного метода для некоторых задач.
Алгоритм управления на основе комплексирования состоит из двух этапов: динамическая оценка эффективности модулей и реконфигурирование программы. Оценка эффективности ПО производится путем моделирования работы исследуемой программы, когда ее исходные данные распределяются согласно определенному закону распределения. Особенностью предлагаемого подхода является проверка программы не на дискретном наборе исходных данных, а на некоторой распределенной области данных, что является статистически оп-
равданным. Методика оценки может использоваться для получения численной метрики эффективности. Основные блоки метода представлены на рис. 1. Программы представляются в виде функциональных элементов, на входы которых подаются величины, подчиняющиеся определенному закону распределения. Недостижимостью цели программы в широком смысле будем считать невыполнение блоком своих функций. Появление событий, приводящих к недостижимости целей, отслеживается блоками оценки и анализа. После достаточного количества прогонов методом оценки по частоте успешного выполнения задачи делается заключение об оценке вероятности достижимости цели, и при промышленной эксплуатации анализируемой программы модуль реконфигуриро-вания выбирает оптимальный путь выполнения с максимальной эффективностью. Метод оценки эффективности состоит из следующих этапов: установление законов распределения исходных данных; определение метрик программы и организация их расчета; моделирование программы на основе заданных законов распределения; оценка эффективности программы на основе оценки вероятности по частоте достижения цели.
Рисунок 1 - Модель метода оценки эффективности
Описывается программный модуль в среде МАТЪАВ для расчета вероятности достижения цели программ методом моделирования.
Разрабатывается метод управления эффективностью на основе комплек-сирования программных модулей. Для этого предлагается процедура комплек-сирования, которая формально может быть представлена с помощью теории множеств:
IX т, А I,
Здесь А", - классификация программных модулей (А/}), задач (7)), алгоритмов решения каждой задачи (А,) и их функций; Л, - критерий выбора М, в зависимости от необходимого параметра и от входных данных; Г — комплексирование программных модулей; О. - получение выходных результатов с наилучшим сочетанием выбранных метрик. Параметры программных модулей: величина отклонения от точного решения; (- время работы модуля; т - объем исполь-
=>к,
> М, ЙДЛ/,,^] -> Л2[Л/„г] Я3[М„т] -> М„с] -> {М) -> У{М] ->£>=>
О)
зуемых ресурсов; с — число вызовов целевой функции. В отличие от известных, предложенная идея комплексирования опирается на использование метрик ПО.
Предлагается комплексный показатель эффективности модуля:
(С<<Г„;
С(Мк) = т, с) -> тах, при ограничениях (2)
(с<с0.
Приводится алгоритм реализации идеи комплексирования программных модулей. Алгоритм состоит из следующих основных этапов: выбор критерия по конфигурированию общей системы программных модулей; ранжирование списка конфигурируемых параметров по важности; сопряжение вычислительных модулей при комплексировании по входным и выходным переменным и функциям; обеспечение наилучшего сочетания выбранных параметров за счет допустимого ухудшения остальных показателей. Блок-схема алгоритма управления представлена на рис. 2. На первоначальном этапе управления необходимо накопление статистической информации об эффективности каждого блока. Эффективность модулей в зависимости от законов распределения исходных данных оценивается по ранее предложенному методу - работа программы или отдельных модулей моделируется в зависимости от законов распределения исходных данных и производится подсчет вероятности достижения цели модуля. Полученная информация используется при функционировании программы в реальном времени. Программа, достигнув определенного места в алгоритме и располагая параметрами закона распределения входных данных, выбирает наиболее эффективное решение. Управление ходом решения представлено с помощью линии управления. Получив выходные данные модуля 1, программа на основе текущих параметров закона распределения производит выбор наиболее эффективной альтернативы модуля А. Допустим, таким модулем оказался А1. Тогда другие пути, ведущие к модулям А2 и АЗ, временно отключаются до тех пор, пока выходные данные модуля 1 не попадут в промежуток, в котором эффективность отключенных модулей окажется выше эффективности модуля А1.
Устал оалснне
зккоцов
распределения
»сходных
данных
с
Начало
Э
/ Вводданаих
Выбор наиболее
эффективных
модулей.
использование
результатов
предложенного
метода оценки
1
| ВлоЫ! ]
упршкнии
БлоК.А1 I I БлокЛЗ * Бшохныв
/ Вывод данных /
Модуль управления эффективностью
Статистическая информация о работе блоков
С
3
Рисунок 2 — Блок-схема алгоритма управления эффективностью
Принцип комплексирования заключается в выборе оптимального сочетания существующих модулей, при котором программа выполняется с максимальной эффективностью. Математически принцип комплексирования можно описать следующей функцией:
с = ^тк(с(м/))], (3)
где С - общая комплексная эффективность программы; N - количество модулей; М/ - ¡'-й альтернативный блок модуля M', i е 1... к , j е 1... N, к - количество альтернатив модуля М>. В качестве примера предлагаемого алгоритма комплексирования рассматривается работа программы, реализующей решение системы уравнений Лотка-Вольтерра. Для численного решения задачи Коши в MATLAB реализованы семь различных вычислительных модулей (ВМ): ode45, ode23, odel 13, odel5s, ode23s, ode23t, ode23tb. При выборе ВМ необходимо учитывать свойства решаемой системы. В противном случае можно получить неточный результат или затратить слишком много времени. Выбирая различные коэффициенты системы Лотка-Вольтерра, получают различные системы дифференциальных уравнений и соответствующие им решения. Для решения системы уравнений были выбраны три ВМ: ode45 (метод Рунге-Кутта 4), ode23s (метод Рунге-Кутта 2), odel 13 (метод Адамса-Бэшфорта-Милтона), коэффициенты генерировались согласно нормальному закону распределения с дисперсией 0.25 и математическим ожиданием (МО) в диапазоне от 0 до 10. В задаче были приняты следующие ограничения: недопустимое время решения системы t > Т0 = 10 сек; недопустимое отклонение от точного решения Ç> = 0.5. Вероятность достижения цели программы определялась вероятностью нахождения решения с учетом ограничений.
В результате моделирования работы вычислительных методов ode23s (модуль А1), ode45 (модуль А2), odel 13 (модуль A3) были получены графики вероятности достижения цели Рйц в зависимости от математического ожидания (МО) S и R системы уравнений (рис. 3). На графиках светлые области соответствуют вероятностям достижения цели, близким к 0.9. Графики являются трехмерными, третья ось содержит уровень эффективности, характеризуемый вероятностью достижения цели. Линиями на графиках обозначены уровни-срезы с определенными значениями эффективности.
Рисунок 3 - Графики Рдц(МО S, МО R) для ВМ ode23s, odel 13 и ode45
При моделировании двумерного варианта (S = const) получены графики эффективности в зависимости от МО R (рис. 4). Согласно результатам моделирования, каждый ВМ имеет области, в которых вероятность достижения цели Рш менее 0.4 (на рис. 4 таким ВМ является odel 13). Но при использовании комплексирования значение Рди общей системы - мажоранта, в соответствии с принятыми ограничениями, не опускается ниже уровня 0.6.
» ' *" ' '..<"*—1—Г'.Uli 1.,
.........—
ode23s
\ /
\ /
OjL--'-l-1-1-1-1-1 ' -I--
0123456789 10 MOS
Рисунок 4 - Графики Pm в зависимости от МО S
Таким образом, предложен метод и разработан алгоритм управления эффективностью программы на основе комплексирования. Комплексирование заключается в выборе оптимального сочетания существующих вычислительных блоков, при котором программа выполняется с максимальной эффективностью.
В третье главе рассматривается проблема подготовки исходных данных с целью уменьшения затрат при использовании метода управления эффективностью на основе комплексирования программных модулей. Разрабатывается методика получения максимальной оценки эффективности в заданной области исходных данных и методика проектирования ПО с определенным уровнем эффективности. Методика состоит из 4 этапов: определение законов распределения исходных данных; формулирование целей программы и определение событий, препятствующих этому; моделирование программы с определенными законами распределения исходных данных, оценка эффективности ПО; определение допустимых параметров законов распределения, при которых программа будет обладать заданной эффективностью.
Первым шагом для реализации предложенной методики оценки эффективности ПО является установление законов распределения исходных данных. Это подразумевает определение вида закона распределения и его основных моментов. Для этого можно воспользоваться известивши методами. Определение закона распределения в автоматическом режиме, т.е. в режиме выполнения программы, приводит к реконфигурированию системы для достижения максимальной эффективности. Для этого производится фоновое отслеживание поступающих значений входных переменных и при получении очередной порции данных производится расчет новых параметров закона распределения по предложенному алгоритму. Для применения описанного алгоритма в среде МАТЬАВ разработаны соответствующие программные модули. Предложено альтернативное представление вложенных циклов, обладающее лучшим масштабированием по сравнению с традиционным представлением.
Ставится задача определения максимального уровня эффективности ПО в заданной области изменения исходных данных. Рассматриваются вопросы нахождения оптимального решения поставленной задачи.
Предложена методика подготовки исходных данных с целью уменьшения затрат при использовании метода управления эффективностью на основе комплексирования. Методика состоит из следующих основных этапов: определение законов распределения исходных данных; выявление ограничений в исследуемой программе; организация моделирования с накоплением статистической
информации о работе каждого программного модуля; комллексирование результатов моделирования, получение мажоранты, характеризующей эффективность программы в зависимости от законов распределения исходных данных.
В четвертой главе рассматривается применение метода управления эффективностью ПО на основе комплексирования программных модулей к программе поиска скоростных коэффициентов химической реакции. Существующая версия программы обладает низкой эффективностью, что приводит к частым остановам вычислений. Поэтому возникла необходимость в исследовании алгоритмов, заложенных в программу, и в проектировании новой версии на основе разработанного метода управления.
Задачу поиска скоростных коэффициентов химической реакции можно отнести к задачам подбора параметров. Для таких задач обычно имеется набор экспериментальных данных, для которых с помощью некоторой функции ДМ), где [х] - вектор подбираемых коэффициентов, получают соответствующие наборы теоретических данных, при которых разность между теоретическими и экспериментальными данными будет удовлетворять некоторой наперед заданной величине. Рассматривая подобные задачи на системном уровне, можно выделить два основных блока:
1) блок расчета теоретических данных, т.е. расчета функцииДЭД);
2) блок подбора параметров, осуществляющий поиск минимума некоторой дискретной А'-мерной поверхности, точками которой являются возможные наборы значений первого блока.
Подобные задачи решаются в химической кинетике при определении скоростных коэффициентов многостадийной химической реакции. При этом первый блок занимается решением системы обыкновенных нелинейных дифференциальных уравнений (СОНДУ), а второй блок реализует некоторый оптимизационный метод. Проводится исследование определенной реакции, в процессе которой через заданные промежутки времени фиксируют выход некоторых веществ, причем выход остальных веществ не наблюдается.
Задача отыскания констант может быть сформулирована следующим образом: на основе данных о скорости изменения концентраций найти такие значения к, которые наилучшим образом отвечали бы эксперименту. Математически эта задача сводится к минимизации некоторой функции отклонения экспериментальных данных от расчетных значений. В рассматриваемой задаче нахождения скоростных констант химических реакций выделяются две задачи:
1) задача решения СОНДУ;
2) задача минимизации разностей между теоретическими и экспериментальными данными, т.е. некоторой функции отклонения экспериментальных данных от расчетных значений.
В качестве примера рассматривается модель реакции, используемая в программном модуле системы управления технологическим процессом:
где Aj - определенные вещества (конкретный химический состав каждого вещества в данной работе не приводится). Выход веществ А\, А3 - наблюдаем, остальные - нет; к,- (с1) - скоростной коэффициент /"-ой стадии.
В общей сложности, модели химических реакций могут быть представлены большим количеством уравнений СОНДУ, что ведет к увеличению переменных, исходных данных и соответствующих ограничений.
Математическое описание модели (4), согласно теории химической кинетики, представляется определенной СОНДУ, решение которой зависит от параметров к\..к4 Меняя эти константы и решая систему уравнений, определяют изменения во времени концентрации веществ После этого, найденные
концентрации сравнивают с экспериментальными данными. Конечная цель вычислений — определить такие к\..к^ при которых разность между экспериментальными и расчетными данными будет пределах допуска.
Рассматриваемая программа состоит из двух основных блоков: 1) блоки решения системы дифференциальных уравнений; 2) блок, реализующий оптимизацию некоторой целевой функции, аргументы которой зависят от решения первого блока. Целевая функция рассматриваемой задачи имеет вид:
где у, - ряд экспериментальных точек, определенных для соответствующих интервалов времени х,; т - количество экспериментальных точек; [к] - вектор скоростных коэффициентов химических реакций; Р(х„ [А]) - функция теоретических значений при определенном наборе к. Исходными данными являются: схема превращений, т.е. математическая модель реакции, первоначальные мольные доли веществ и экспериментальные данные, полученные в процессе проведения реакции через фиксированные промежутки времени.
Подбирается такой набор скоростных коэффициентов [&], при которых абсолютная разность между теоретическими и экспериментальными данными не будет превышать некоторую наперед заданную величину В начале работы оптимизационный алгоритм (ОА) выбирает первоначальный вектор скоростных коэффициентов. Подставив этот вектор в СОНДУ, находится решение, из которого извлекается информация о количественном соотношении выхода веществ. Найденные процентные доли веществ, которые являются теоретическим решением, сравниваются с данными, полученными в процессе эксперимента.
Блок-схема программы расчета скоростных коэффициентов представлена на рис. 5. Исходными данными для программного модуля являются: схема превращений, т.е. математическая модель реакции, первоначальные мольные доли веществ и экспериментальные данные, полученные в процессе проведения реакции через фиксированные промежутки времени.
После ввода исходных данных начинается основная работа программы -поиск скоростных коэффициентов. В начале работы оптимизационный алгоритм (ОА) выбирает первоначальный вектор скоростных коэффициентов. Подставив этот вектор в СОНДУ, находится решение, из которого извлекается информация о количественном соотношении выхода веществ. Найденные про-
(5)
центные доли веществ, которые являются теоретическим решением, сравниваются с данными, полученными в процессе эксперимента. Цель ОА заключается в подборе таких скоростных коэффициентов, при которых разность между теоретическими и экспериментальными данными будет удовлетворять некоторой наперед заданной величине.
Рисунок 5 - Блок-схема программы расчета скоростных коэффициентов
Блок решения системы обыкновенных нелинейных дифференциальных уравнений в текущей версии реализован с помощью алгоритмов Эйлера, Кутта-Мерсона и Рунге-Кутта. В качестве оптимизационного алгоритма используется параболический спуск. В случае зацикливания оптимизационного алгоритма, вызванного попаданием в локальный минимум, производится перезапуск программы с выбором другой начальной точки. В текущей версии, несмотря на наличие различных алгоритмов решения первого блока, переключение между ними происходит в диалоговом режиме, и в случае отказа одного из блоков программа останавливается в ожидании действий оператора.
Функционирование рассматриваемого алгоритма зависит от выбора первоначального вектора к, т.е. от выбора начальной точки: {к\, къ къ, к4). Поэтому вероятность достижения цели программы рассчитывается в зависимости от выбора начальной точки. Достижением цели считалось событие, при котором метод оптимизации завершил работу в пределах допуска £ < и заданного времени Г < То. Примем, что все элементы вектора к распределены по нормальному закону. В данном примере среднее квадратическое отклонение для всех элементов принято равным 1, а математическое ожидание (МО) элементов было расположено в интервале от 1 до 11 с шагом 2.
Имеется множество способов решения СОНДУ и различные способы многомерной минимизации. Для увеличения эффективности программы необходимо использовать различные методы, реализующие описанные блоки. Применяя определенные блоки, получим различные показатели Т и £
Рассмотрено нарушение формальных свойств алгоритма, реализующего решение обратной задачи химической кинетики. Первое формальное свойство алгоритма для этой задачи выполняется строго - алгоритм является детерминированным, последующий шаг алгоритма однозначно определяется текущим состоянием. Однако может быть нарушено свойство конечности, приводящее к недостижению цели программы. Во-первых, для алгоритмов оптимизации характерно «попадание» в локальные минимумы, в которых значение целевой функции (5) окажется недопустимым большим. Во-вторых, для алгоритмов решения системы обыкновенных дифференциальных уравнений используются численные методы, время решения которых зависит от точности используемых методов, что, в конечном счете, сказывается на времени вычисления. Отсутствие результата за заданный интервал времени также можно считать недостижением цели. Более того, рассматриваемую задачу можно считать некорректной, так как она не всегда устойчива к изменению небольших возмущений исходных данных.
Функционально вероятность достижения цели программы зависит от первоначальной точки, т.е. Рдц(^ь к2, къ, ¿4). Метод оценки эффективности основывается на моделировании работы программы, когда на вход поступают данные, распределенные по определенному закону распределения.
В результате моделирования для конкретного вектора к, состоящего из математических ожиданий, было определено значение вероятности достижения цели. Для наглядности зафиксируем математические ожидания к3 и к* равными 11 и 1, соответственно. Изменение вероятности достижения цели программой Рдц в зависимости от МО ^ и к2 можно представить графически (рис. 6).
Области, в которых достижение цели наиболее вероятно, обозначены темным цветом. Для обеспечения высокой эффективности программы необходимо выбирать МО и к2 из интервалов [1; 6] и [2; 5], соответственно.
Рисунок 6 - Вид функции Рдц(МО ки МО к2) при МО к3 = 11 и МО к4 = 1
В результате моделирования работы вычислительных методов оёе23з (модуль А1), осЫ5 (модуль А2), ос!е113 (модуль АЗ), аналогично примеру с моделированием задачи Лотки-Вольтера, получены графики вероятности безотказной работы Р в зависимости от МО кх и к2, при этом Аз и кц фиксированы.
Для лучшего восприятия результатов моделирования рассматривается двумерный вариант. Предположим, что к2 постоянно. На рис. 7 представлены графики эффективности программы в зависимости от МО к\.
Согласно результатам моделирования, каждый ВМ имеет области, в которых вероятность достижения цели Р менее 0.3 (на рис. 7 таким ВМ является ос!е238). Но при этом значение Рдп общей системы, мажоранта, не опускается ниже уровня 0.7. В рассматриваемой системе работа одних ВМ оказалось более эффективной в определенных областях, в результате существенно повысилась
эффективность общей системы. р 1
да
0.8 0.6 0.4 02
О 1 4 « 8 10 12
МО к1
Рисунок 7 — Графики Рдц в зависимости от МО к\
Исходя из полученных результатов, делается вывод о том, что разрабо-ташилй метод, основанный на моделировании работы программы в зависимости от законов распределения исходных данных, может рассматриваться не только в качестве инструмента повышения эффективности, но и в качестве инструмента анализа задачи на устойчивость к малым возмущениям. Метод позволяет определить области, в которых рассматриваемая задача наиболее устойчива. По виду полученной зависимости на рис. 7 можно сделать вывод о том, корректна ли задача в плане устойчивости. В случае плавного графика этой зависимости (сплошная линия) - задача является более «грубой» (малочувствительной). Л для зависимости, представленной методом ос1е238, имеется область, для которой небольшое изменение исходных данных приводит к резкому изменению вероятности достижения цели программы. Таким образом, с помощью предлагаемого метода можно также оценить чувствительность вероятности достижения цели программы в зависимости от параметров закона распределения исходных данных. В зависимости от МО входной переменной можно получить совокупную эффективность программы на основе комплексирова-ния вычислительных методов, которая будет выше эффективности блока Л1, А2 или АЗ, взятых в отдельности. Выбирая более эффективный ВМ в зависимости от исходных данных, программа работает более эффективно при более широком диапазоне их изменения.
Метод управления эффективностью ПО на основе комплексирования программных модулей реализован в виде отдельного блока для информационно-аналитической системы решения обратных задач химической кинетики Института нефтехимии и катализа РАН, что позволило:
1) уменьшить общее количество остановов при решении задачи;
2) определить области распределения исходных данных с заданной вероятностью достижения цели, при которых программа выполняется наиболее эффективно;
3) увеличить точность определения скоростных коэффициентов при разработке кинетических моделей частных реакций каталитического гидроалюми-нирования олефинов.
оЛеЗЗ]
-----0<Ы5
---0*113
Мажоранта
ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ
1. Предложен метод оценки эффективности прикладного ПО, основанный на статистических данных, полученных в ходе моделирования работы ПО, отличающийся тем, что используются знания законов распределения исходных данных для получения статистических зависимостей, характеризующих вероятность достижения цели программой.
2. Разработаны алгоритм и методика проектирования программ с заданным уровнем эффективности, основанные на предложенном методе оценки и позволяющие на основе выбранных метрик определить параметры законов распределения исходных данных, при которых программа будет обладать заданным уровнем эффективности.
3. Разработаны метод и алгоритм управления эффективностью ПО на основе комплексирования альтернативных программных модулей в зависимости от законов распределения исходных данных, отличающиеся использованием метода оценки эффективности ПО в зависимости от законов распределения исходных данных при реализации алгоритма комплексирования, и позволяющие повысить эффективность прикладного ПО, состоящего из различных программных модулей.
4. Разработано ПО для оценки эффективности исследуемых программ и реализующее разработанный метод управления. Для задачи моделирования кинетических параметров химической кинетики получена интервальная оценка погрешности определения вероятности достижения цели.
5. Разработанный программный модуль по расчету кинетических параметров каталитических реакций внедрен в практику работу лабораторий ИНК РАН и применяется для построения кинетических моделей промышленно значимых реакций. Метод управления эффективностью ПО на основе комплексирования позволил повысить эффективность ПО, увеличив вероятность достижения цели с 0.3 до уровня 0.7.
ПУБЛИКАЦИИ ПО МАТЕРИАЛАМ ДИССЕРТАЦИИ
В рецензируемых журналах из списка ВАК
1. Реализация ^-вариантности для обратных задач кинетики механизмов цикло- и гидроалюминирования олефинов / И.И. Губайдуллин, И.М. Губайдуллин // Обозрение прикладной и промышленной, математики. М.: ТВП, 2006. Т.13, №4. С. 629-631.
2. Метод экспериментальной оценки надежности программного обеспечения / И.И. Губайдуллин, А.И. Фрид // Информационные технологии. М.: Новые технологии, 2007. №5. С.165-173.
3. Оценка надежности одного типа программ с определением погрешности полученной оценки / И.И. Губайдуллин, А.И. Фрид // Вестник УГАТУ, 2010. Т. 14, №4 (39). С. 145-151.
В других изданиях
4. Система управления базой данных сложных химических реакций в присутствии циркониевого катализатора (C^H^iZrCh / И.И. Губайдуллин, И.М. Губайдуллин // Химреактор-17: сб. науч. тр. 17-й междунар. конф. по химическим реакторам, 15-16 мая 2006, Афины-Крит. М.: ЗАО «Калвис», 2006. С. 636-639.
5. Методика оценки надежности программного обеспечения в зависимости от распределения исходных данных / И.И. Губайдуллин, А.И. Фрид // Естественные и технические науки. М.: «Спутник+», 2007. № 3. С. 194-197.
6. Об одном подходе к оценке надежности программного обеспечения / И.И. Губайдуллин, А.И. Фрид // Труды междунар. конф. комп. наук и информ. техн. (CSIT'2007). Красноусольск-Уфа: УГАТУ, 2007. Т.2. С. 153157 (Статья на англ. яз).
7. Об одном методе оценки надежности программного обеспечения / И.И. Губайдуллин, А.И. Фрид // Королевские чтения. Самара: Издательство Самарского государственного аэрокосмического университет, 2007. С. 284.
8. Оценка алгоритмической надежности программного обеспечения в одной задаче химической промышленности / И.И. Губайдуллин // Актуальные проблемы в науке и технике. Т. 1: сб. ст. per. зимней шк.-сем. аспирантов и молодых ученых, 20-23 февраля 2008. Уфа: Технология, 2008. С. 287-293.
9. Оценка надежности программы решения одной задачи химической кинетики / И.И. Губайдуллин, А.И. Фрид // Труды междунар. конф. комп. наук и информ. техн. (CSIT'2008). Анталия: УГАТУ, 2008. Т.1. С. 184-187 (Статья на англ. яз.).
Ю.Оценка точности расчета вероятности отказа одной программы / И.И. Губайдуллин, А.И. Фрид // Мавлютовские чтения : Всерос. молодежи, конф: сб. тр. Т. 3. Уфа: УГАТУ, 2008. С.122-123.
11.Управление надежностью программного обеспечения при известных законах распределения исходных данных / И.И. Губайдуллин // Актуальные проблемы в науке и технике. Т. 1: сб. ст. per. зимней шк.-сем. аспирантов и молодых ученых, 19-21 февраля 2009. Уфа: Технология, 2009. С. 167-173.
12.Надежность системы вычислительных методов / И.И. Губайдуллин, А.И. Фрид // Труды междунар. конф. комп. наук и информ. техн. (CSIT'2010). Сашег-Перербург: УГАТУ, 2010. Т.1. С. 158-162 (Статья на англ. яз.).
13.Управление надежностью программного обеспечения при известных законах распределения исходных данных / И.И. Губайдуллин // Актуальные проблемы в науке и технике. Т. 1: сб. ст. per. зимней шк.-сем. аспирантов и молодых ученых. Уфа: Технология, 2010. С. 136-141.
Диссертант
И. И. Губайдуллин
ГУБАЙДУЛЛИН Ильдар Ирекович
КОМПЛЕКСИРОВАНИЕ МОДУЛЕЙ ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ МЕТРИЧЕСКИХ ОЦЕНОК ЭФФЕКТИВНОСТИ
Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
Подписано к печати 19.11.10. Формат 60x84 1/16. Бумага офсетная. Печать плоская. Гарнитура Times New Roman. Усл. печ. л. 1,0. Усл. кр.-отг. 1,0. Уч.- изд. л. 1,0. Тираж 100 экз. Заказ № 473.
ГОУ ВПО Уфимский государственный авиационный технический университет Центр оперативной полиграфии 450000, Уфа-центр, ул. К.Маркса, 12
Оглавление автор диссертации — кандидата технических наук Губайдуллин, Ильдар Ирекович
введение
1 анализ методов; повышения эффективности прш<ладного программного обеспечения
1.1 Анализ нормативных документов
1.2 Выявление связи свойств алгоритмов и эффективности программного: обеспечения
1.3 Анализ известных методов оценки эффективности ПО
1.4 Анализ известных методов обеспечения эффективности ПО
1.5 Анализ эффективности прикладного ПО на примере задачи определения кинетических параметров каталитических реакций; 37 Выводы по главе
2 разработка метода и алгоритма управления эффективностью прикладного программного обеспечения на основе комплексирования программных модулей
2.1 Модель метода управления эффективностью ПО
2.2 Разработка метода оценки эффективности ПО с учетом законов распределения исходных данных
2.3 Пример получения оценки эффективности программы по моделированию кинетических параметров каталитических реакций
2.4 Разработка метода и алгоритма управления эффективностью
ПО путем комплексирования программных модулей'
2^5 Пример применения разработанного метода управления эффективностью ПО
Выводы по главе 2 '
3 подготовка исходных данных в методе управления эффективностью
3.1 Методика поиска максимального уровня эффективности выполнения программы в заданной области изменения данных
3.2 Методика оптимизации вложенных циклов
3.3 Методика проектирования прикладного ПО с заданной эффективностью
3.4 База'данных для расчетов вычислительных экспериментов 90 ,3.5 Особенности реализации методов в среде MATLAB 93 3.6 Методика подготовки данных в методе управления эффективностью на основе комплексирования 95 Выводы по главе 3 96,
4 ПРИМЕНЕНИЕ МЕТОДА УПРАВЛЕНИЯ ЭФФЕКТИВНОСТЬЮ ПРИКЛАДНОГО ПО К ПРОГРАММЕ ПОИСКА СКОРОСТНЫХ КОЭФФИЦИЕНТОВ ХИМИЧЕСКОЙ РЕАКЦИИ
4.1 Задача поиска скоростных коэффициентов химической реакции
4.2 Описание алгоритма существующей версии программы поиска скоростных коэффициентов химической реакции
4.3 Проектирование версии программы поиска скоростных коэффициентов на основе комплексирования программных модулей 106 4.4' Определение погрешности полученной оценки эффективности для рассматриваемой программы 116 Выводы по главе
Введение 2010 год, диссертация по информатике, вычислительной технике и управлению, Губайдуллин, Ильдар Ирекович
Актуальность работы
Согласно стандартам в области проектирования программного обеспечения (ПО) вычислительных машин, комплексов и компьютерных сетей, одной из основных характеристик качества ПО является эффективность. Под эффективностью ПО понимают набор атрибутов, относящихся к соотношению между уровнем качества функционирования ПО и объемом используемых ресурсов при установленных условиях.
В настоящее время сложными промышленными процессами управляют вычислительные машины, характеризуемые как программной, так и аппаратной составляющей. Эффективность управления процессом, решением прикладной задачи, во многом определяется эффективностью ПО. Обеспечение эффективности ПО основано на оценке качества и оптимальном управлении. Несмотря на бурное развитие техники, увеличение роста производительности и доступности ресурсов, проблема повышения эффективности ПО остается актуальной. Отсутствие универсальных методов оценки эффективности программ, учет специфики прикладной задачи, различные требования к уровню качества функционирования программ приводят к необходимости разработки новых методов оценки и обеспечения эффективности ПО.
В работах как российских, так и зарубежных авторов приведено множество различных методов и моделей качества и метрик ПО. При этом нередко отмечаются проблемы в их использовании. Во многих имеющихся методах обеспечения и оценки эффективности ПО не учитывается влияние исходных данных на результаты работы программы. Например, модели Липова, Джелинского-Моранды, Шика-Волвертона, Литтлвуда-Верралла, Миллса, Шумана и др. [88, 89, 91, 92, 95, 100, 101] основываются на данных, полученных в процессе проектирования ПО. Сложность использования этих моделей заключается в том, что они построены на основе известных опытных данных о процессах разработки и не учитывают работу ПО в динамике. Универсальных метрик качества ПО не существует. В настоящее время их насчитывается более 200. При этом для некоторых специфичных программ метрики ПО разработаны недостаточно. Например, имеется целый класс программ, в которых заметную роль играет не только эффективность технологии программирования, но и эффективность математического обеспечения. В таких программах необходим метод оценки, учитывающий специфику прикладной задачи и возможные качественные особенности, связанные, например, с плохой обусловленностью, с неустойчивостью полученных результатов при изменении входных данных. К примеру, в химической промышленности проблема повышения эффективности ПО приобретает особую актуальность в программе определения кинетических параметров каталитических реакций. Обнаружено, что в существующей версии программного модуля, как правило, в 30% запусков происходит останов дальнейших вычислений, причина которых является невысокая эффективность используемого ПО. При работе в реальных системах остановы могут приводить к огромным экономическим потерям, что связано с потерей дорогостоящих реагентов и катализаторов.
Для специфических задач особую 4 актуальность приобретают динамические метрики, характеризующие такие параметры ПО, как вероятность достижения цели программой, время выполнения, объем занимаемой памяти. Как правило, эти метрики приобретают разные значения в зависимости от законов распределения исходных данных. Поэтому изучение вопроса изменения метрик в зависимости от законов распределения исходных данных с последующей организацией управления этими метриками в ходе выполнения программного модуля, в частности, на основе идей комплексирования, является актуальной задачей. Хотя комплексирование при проектировании ПО используется, например, в работах Андреевой Е. В., Аникина А. А., Зинченко В. П. [5, 6, 31], однако комплексирование здесь рассмотрено с точки зрения прикладной области, и особенности внутренних свойств алгоритмов не учитываются. Механизм реализации идей комплексирования на основе оценивания метрик ПО не разработан.
Выявленные недостатки в существующих методах' требуют разработки новых методов и алгоритмов, учитывающих специфику рассматриваемой программы и обеспечивающих требуемый уровень эффективности. В связи с этим, особую актуальность, приобретает метод оценки эффективности ПО* в зависимости от законов распределения исходных данных. На основе него в диссертационной работе предлагается метод управления эффективностью прикладного ПО путем комплексирования программных модулей.
Объектом исследования является эффективность прикладного ПО.
Предмет исследования - алгоритмы комплексирования-программных модулей вычислительных машин на основе оценки эффективности программного обеспечения.
Целью работы является повышение эффективности прикладного ПО на основе комплексирования программных модулей.
Задачи исследования
Для достижения поставленной цели в работе сформулированы и решены следующие задачи:
1. Разработка метода оценки эффективности ПО в зависимости от законов распределения исходных данных.
2. Разработка метода и алгоритма управления эффективностью прикладного ПО на основе комплексирования программных модулей.
3. Разработка алгоритмического и программного обеспечения для оценки эффективности прикладного ПО.
4. Разработка алгоритма и методики проектирования программ с заданным уровнем эффективности.
5. Экспериментальное обоснование полученных результатов, проведение вычислительных экспериментов на примере задачи: определения кинетических параметров каталитических реакций.
Методика исследованиям
Поставленные в диссертационной;, работе задачи решены с использованием методов теории' информации, системного анализа,, вычислительной математики; моделирования сложных» объектов, объектно-ориентированного: программирования, теории алгоритмов, принципов и методов алгоритмизации.
Результаты, выносимые на защиту
1. Метод оценки эффективности; программного обеспечения в зависимости: от законов ^распределения исходных данных.
2. Метод и алгоритм управления эффективностью ПО на; основе комплексирования программных модулей в зависимости от законов распределения .-исходных данных.
3. Алгоритм и методика проектирования программ с заданным, уровнем эффективности.
4. Программный комплекс по оценке и управлению эффективностью ПО в зависимости от законов распределения исходных данных.
5. Результаты: вычислительных экспериментов на примере задачи определения кинетических параметров каталитических реакций;
Научная новизна
Г. Метод оценки эффективности прикладного ПО, основанный на статистических данных, полученных в ходе моделирования работы' ПО, отличающийся тем, что используя, аппроксимацию законов распределения исходных данных, на основе предлагаемого метода получают статистические зависимости, характеризующие вероятность достижения цели программой.
2. Алгоритм и методика проектирования программ с заданным уровнем эффективности, отличающиеся тем, что на основе выбранных метрик позволяют определить области, характеризующие эффективность ПО в зависимости от законов распределения исходных данных.
3. Метод и алгоритм управления эффективностью ПО на основе комплексирования альтернативных программных модулей, эффективность которых зависит от законов распределения исходных данных, отличающиеся использованием метода оценки эффективности ПО с учетом законов распределения исходных данных при реализации алгоритма комплексирования, и позволяющие повысить эффективность прикладного ПО в целом.
Практическая значимость
1. Разработанный метод оценки эффективности программных продуктов и программного комплекса с учетом законов распределения исходных данных позволяет количественно оценить эффективность прикладного ПО и организовать процесс комплексирования.
2. Разработанные метод и алгоритм управления эффективностью ПО на основе комплексирования программных модулей в зависимости от законов распределения исходных данных позволяют увеличить вероятность достижения цели программы.
3. Разработанные алгоритм и методика проектирования прикладных программ с заданным уровнем эффективности позволяют определить диапазоны распределения параметров исходных данных, при которых прикладное ПО работает с заданным уровнем эффективности.
Внедрение результатов
Практическая значимость результатов подтверждается их использованием в Институте нефтехимии и катализа (ИНК) РАН, г. Уфа. Разработанный программный продукт по расчету кинетических параметров каталитических реакций ЯеОрйт внедрен в практику работу лабораторий ИНК РАН и применяется для построения кинетических моделей промышленно значимых реакций.
Связь с плановыми исследованиями'
Работа поддержана грантом РФФИ № 08-08-00357 «Методы проектирования отказоустойчивых программно-аппаратных вычислительных комплексов для систем управления сложными техническими объектами с -использованием средств * искусственного интеллекта» и грантом Президента Российской Федерации для» государственной, поддержки ведущих научных школ Российской Федерации № НШ-65497.2010.9.
Апробация и публикации
Основные положения и результаты работы докладывались и обсуждались на следующих научных конференциях и семинарах: XVII Международная конференция по химическим реакторам CHEMREACTOR (Афины-Крит, 2006); Всероссийская молодежная научная конференция «Мавлютовские чтения» (Уфа, 2008); III, IV, V Всероссийская зимняя школа-семинар аспирантов и молодых ученых (Уфа, 2008-2010); 9-я, 10-я и 12-я Международная конференция «Компьютерные науки и информационные технологии» (Уфа, 2007, Анталия, 2008, Москва-Санкт-Петербург, 2010); IX Молодежная научная конференция «Королёвские чтения» (Самара, 2007); научные конференции УГАТУ (Уфа, 2006-2010); научные семинары лаборатории математической химии ИНК РАН.
В 2009-2010 гг. диссертант являлся стипендиатом Президента РБ.
Основные положения и результаты исследований по теме диссертации опубликованы в 13 работах, включая 3 статьи в научных изданиях из списка ВАК, 10 публикаций в центральных журналах, материалах Всероссийских и Международных конференций.
Структура работы
Диссертация состоит из введения, четырех глав основного материала, заключения, трех приложений, библиографического списка из 110 наименований, всего на 150 страниц.
Заключение диссертация на тему "Комплексирование модулей прикладного программного обеспечения на основе метрических оценок эффективности"
Выводы по главе 4
1. Решая прикладную задачу по моделированию кинетических параметров каталитических реакций на основе предложенного метода оценки эффективности ПО и метода управления ею, были получены области входных данных, в- которых вероятность достижения цели программой составляет более 0,7 (против 0,3 без использования результатов данной работы). При отсутствии ограничений (4.6), можно определить такие области, в которых вероятность достижения цели программой близка к 1.
2. Для задачи моделирования кинетических параметров химической кинетики получена интервальная оценка» точности определения вероятности недостижения цели программой Ртп. Для рассмотренного примера максимальный интервал, в который можно с вероятностью Р=0,80 гарантировать попадание величины вероятности недостижения цели программой, составил (Рвдц - 0,1775; Ртп + 0,1775), для Р=0,95 - (Рнлц -0,3214; Рццц + 0,3214).
3. Метод управления эффективностью ПО на основе комплексирования программных модулей реализован в > виде отдельного блока для информационно-аналитической системы решения обратных задач химической кинетики Института нефтехимии и катализа РАН, что позволило:
1) уменьшить общее количество остановов при решении задачи;
2) определить области распределения исходных данных с заданной вероятностью достижения цели, при которых программа выполняется наиболее эффективно.
Заключение ^
Г. В диссертации проведен анализ существующих;моделей и методов оценки эффективности ПО. Анализ показал, что существующие модели имеют следующие недостатки:
- для;использования;моделей необходима первоначальная статистика работы коллектива; исходные данные программы и непосредственно код программы не являются первоначальными данными самих.моделей; сложность применения моделей , при сравнении эффективности идентичных программ;
- не учитывается влияние исходных данных.
2. Предложен метод оценки эффективности прикладного ПО, основанный на стохастическом моделировании, отличающийся тем, что используя знание законов распределения исходных: данных, получают * • статистические: зависимости, характеризующие вероятность достижения цели, программой; При. разработке метода были проанализированы два; метода; расчета: аналитический и* метод непосредственного подсчета. Несмотря на то, что аналитические методы являются наиболее точными и эффективными; в реальных программах, обладающих большой сложностью и взаимозависимостью используемых переменных, метод непосредственного подсчета; становится, единственно возможным. В итоге, разработанный метод основан; на статистической информации о функционировании программы, когда на, ее вход поступают данные согласно определенному закону распределения.
3. Разработаны алгоритм и методика проектирования программ с заданным уровнем эффективности, основанные на предложенном методе, и позволяющие определить параметры законов распределения исходных данных, при которых программа, будет обладать заданным уровнем эффективности. Предлагаемая методика состоит из 4 этапов:
1) определение законов распределения исходных данных;
120
2) формулирование целей программы и определение событий, препятствующих этому;
3) моделирование программы с определенными законами распределения исходных данных, оценка эффективности ПО;
4) определение допустимых параметров законов распределения, при которых программа будет обладать заданной эффективностью.
Применение алгоритма и методики проиллюстрировано на конкретных примерах.
4. Разработаны метод и алгоритм управления эффективностью ПО на основе комплексирования программных модулей, отличающиеся использованием статистической информацией о работе каждого модуля в зависимости от законов распределения исходных данных, и позволяющие повысить эффективность исследуемого прикладного ПО. На примере задачи моделирования кинетических параметров химической реакции показано применение метода доверительных интервалов для оценки точности полученных результатов.
5. Разработано ПО для оценки эффективности исследуемых программ и реализации предложенного метода управления.
6. Разработанный программный продукт, реализующий предложенные методы оценки эффективности ПО и алгоритмы управления эффективностью на основе комплексирования, внедрен в практику работы лабораторий Института нефтехимии и катализа РАН и применяется для построения кинетических моделей промышленно значимых реакций.
Библиография Губайдуллин, Ильдар Ирекович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. ГОСТ 19.781-90. Обеспечение систем обработки информации программное. Термины и определения. Госстандарт России.
2. ГОСТ 26553-85. Обслуживание средств вычислительной техники централизованное комплексное. Термины и определения.
3. ГОСТ 28195-89. Оценка качества программных средств. Общие положения. Государственный комитет СССР по стандартам. 1 •
4. ГОСТ Р ИСО/МЭК 9126-93. Оценка программной продукции. Характеристики качества и руководства по их применению. Госстандарт России.
5. Аникин A.A. Комплексирование спутниковых и инерциальных систем // Тезисы докладов XXXVIII научно-технической конференции УлГТУ «Вузовская наука в современных условиях», 26 января 1 февраля 2004. Ч. 1, С. - 107.
6. Ануфриев И. Е., Смирнов А. Б., Смирнова Е. Н. MATLAB 7. -СПб.: БХВ-Петербург, 2005. 1104 с.
7. Аоки М. Введение в методы оптимизации: Основы и приложения нелинейного программирования. М.: Наука. Гл. ред. физ.-мат. лит., 1977. - 344 с.
8. Аттетков А. В. и др. Методы оптимизации. М.: МГТУ, 2001.440 с.
9. Батунер Л. М., Позин М. Е. Математические методы в химической технике. СПб.: Государственное научно-техническое издательство химической литературы, 1963. - 640 с.
10. Бек К. Экстремальное программирование. СПб.: Питер, 2002. -224 е.: ил.
11. Брандт 3. Анализ данных. Статистические и вычислительные мето-ды для научных работников и инженеров. М.: Мир, 2003. - 686 с.
12. Васильев Ф. П. Численные методы решения экстремальных задач. М.: Наука. Гл. ред. физ.-мат. лит., 1988. 552 с.
13. Васин В. В., Агеев А. J1. Катастрофы и парадоксы при решении неустойчивых задач на ЭВМ // Математика и кибернетика, № 10, 1991, С. 11-26.16 . Вентцель Е. С. Теория вероятностей: Учеб. для вузов. 6-е изд. - М.: Высш. шк., 2003. - 576 с.
14. Гагарин С. Г., Колбановский Ю.А., Полак Л.С. В кн.: Применение вычислительной математики в химической и физической кинетике. - М.: Наука, 1969. - С. 82-178.
15. Гаршин И. Стандарты в информационных технологиях // Стандарты, методологии и правила в ИТ. 2010. URL: http://www.garshin.m/it/htm/standards/it-standards.htm
16. Губайдуллин И. И., Губайдуллин И. М. Реализация ALвариантности для обратных задач кинетики механизмов цикло- и гидроалюминирования олефинов // Обозрение прикладной и промышленной математики. М.: ТВП, 2006. Т.13, №4. С. 629-631.
17. Губайдуллин И. И. Об одном методе оценки надежности программного обеспечения // Международная научная конференция «Королевские чтения», Самара, 2007 84 с.
18. Губайдуллин И. И., Фрид А. И. Метод экспериментальной оценки надежности программного обеспечения // Информационные технологии, №5, 2009.-С. 47-51.
19. Губайдуллин И. И., Фрид А. И. Методика оценки надежности программного обеспечения в зависимости от распределения исходных данных // Естественные и технические науки, 2007, № 3, С. 194-197.
20. Губайдуллин И. И., Фрид А. И. Оценка точности расчета вероятности отказа одной программы // Мавлютовские чтения: Всероссийская молодежная конференция: сб. тр. в 5 т. Том 3 / Уфимск. гос. авиац. техн. ун-т. Уфа: УГАТУ - 2008. С. 122-123.
21. Губайдуллин И. М., Спивак С. И. Информационно-аналитическая система обратных задач химической кинетики // Системы управления и информационные технологии. 2008. -№1.1(31). - С. 150-153.
22. Деккер К., Вервер Я. Устойчивость методов Рунге-Кутты для жёстких нелинейных дифференциальных уравнений. — М.: Мир, 1998. -334 с.
23. Джонсон К. Численные методы в химии: Пер. с англ. М.: Мир, 1983.-504 с.
24. Заварыкин В. М., Житомирский В. Г., Лапчик М. П. Численные методы. Учеб. пособие для физ.-мат. спец. пед. институтов. М.: Просвещенно, 1990. - 176 с.
25. Захаров А. Ю. Некоторые результаты сравнения эффективности решения систем обыкновенных дифференциальных уравнений // Препринт ИПМ. М, 1979. - № 125. - 24 с.
26. Зинченко В. П. и др. Процедуры комплексирования компонент информационных технологий экспериментальных исследований моделей летательных аппаратов // Компьютерные средства, сети и системы, 2002, №1, С. 92-100.
27. Иванов В. В. Методы вычислений на ЭВМ. Справочное пособие. Киев: Наукова думка, 1986. - 583 с.
28. Изосимов A.B., Рыжко A.JI. Метрическая оценка качества программ. М.: Изд-во МАИ, 1989. - 96 с.
29. Иыуду К. А. Надежность, контроль и диагностика вычислительных машин и систем. М.: Высш. шк., 1989. - 216 с.
30. Клибанов М.В., Спивак С.И., Тимошенко В.И., Слинько М.Г. О числе независимых параметров стационарной кинетической модели // ДАН СССР. 1973. - Т. 208. - № 6. - С. 1387-1390.
31. Кнут Д. Э. Искусство программирования, том 1, Зе изд., 2001.682 с.
32. Коварцев А. Н. Автоматизация разработки и тестирования программных средств: Самар. гос. аэрокосм. ун-т. Самара, 1999. 150 с.
33. Колмогоров А. Н. О понятии алгоритма // Математика и кибернетика, № 1, 1991, С. 5-23.
34. Копченова Н. В., Марон И. А. Вычислительная математика в примерах и задачах. М.: Главная редакция физико-математической литературы изд-ва «Наука», 2008. - 368 с.
35. Кулаков А. Ф. Оценка качества программ ЭВМ. К.: Техника, 1984.- 167 е., ил.
36. Кулямин В. В., Петренко О. Л. Место тестирования среди методов оценки качества ПО. Труды ИСП РАН, 2003, № 4, С. 163-176.
37. Левицкий A.A. Исследование кинетики и механизмов некоторых химических реакций методом математического моделирования // Диссертация на соискание ученой степени кандидата химических наук. -М.: ИНХС АН СССР, 1978. 166 с.
38. Липаев В.В. Качество программного обеспечения. М.: Финансы и статистика, 1983. - 263 с.
39. Липаев В.В. О проблемах оценивания качества программных средств // Информационные технологии, 2000, № 4, С. 19-23.
40. Липаев В. В. Тестирование программ. М.: Радио и связь, 1986.296 с.
41. Майерс Г. Искусство тестирования программ. Пер. с англ. М.: Финансы и статистика, 1982. - 176 с.
42. Майерс Г. Надежность программного обеспечения. М.: Мир, 1980.-360 с.
43. Марков А. А., Нагорный Н. М. Теория алгорифмов. М.: Наука. Главная редакция физико-математической литературы, 1984. - 432 с.
44. Марчук, Г.И. Методы вычислительной математики. М.: Наука,1989. 608 с.
45. Павлов Б. В., Брин Э. Ф. Обратные задачи химической кинетики // Химическая физика. 1984. - Т.З. - №3. - С. 393-404.
46. Пальчун Б. П., Юсупов Р. М. Оценка надежности программного обеспечения. СПб.: Наука, 1994. - 84 с.
47. Полак Л. С., Гольденберг М. Я., Левицкий A.A. Вычислительные методы в химической кинетике. М.: Наука, 1984. - 280 с.
48. Программные средства вычислительной техники: Толковый терминологический словарь-справочник. М.: Издательство стандартов,1990.-е. 368.
49. Ракитский Ю. В., Устинов С. М., Черноруцкий И. Г. Численные методы решения жестких систем. М.: Наука. Гл. ред. физ.-мат. лит, 1979. -208 с.
50. Растригин Л.А. Статистические методы поиска минимума. М.: Наука. Гл. ред. физ.-мат. лит., 1968. - 376 с.
51. Розенброк X., Стори С. Вычислительные методы для инженеров-химиков. М.: Мир, 1968. 443 с.
52. Романюк С.Г. Оценка надежности программного обеспечения // Открытые системы, 1994, № 4, С. 36-41.
53. Рудерман С.Ю. Теория вероятностей. Книга 1 Уфа: Изд-во Башкирского университета, 2001. - 178с.
54. Самарский А. А., Гулин А. В. Численные методы: Учеб. пособие для вузов. М.: Наука. Гл. ред. физ-мат. лит., 1989. - 432 с.
55. Слинько М. Г. Основы и принципы математического моделирования каталитических процессов. Новосибирск, Ин-т катализа им. Борескова СО РАН, 2004.-488 с.
56. Современные численные методы решения обыкновенных дифференциальных уравнений. Под ред. Дж. Холла и Дж. Уатта. М.: Мир, 1979.-312 с.
57. Спивак С.И., Горский В.Г. Неединственность решения задачи восстановления кинетических констант // ДАН СССР. 1981. - Т. 257. - № 2.-С. 412-415.
58. Спивак С.И., Губайдуллин И.М., Вайман Е.В. Обратные задачи химической кинетики. Уфа: РИО БашГУ, 2003. - 110 с.
59. Степанченко И. В. Методы тестирования программного обеспечения: Учеб. пособие Волгоград: ВолгГТУ, 2006. - 74 с.
60. Тассел В. Д. Стиль, разработка, эффективность, отладка иIиспытание программ. Пер с англ. М.: Мир, 1985 - 332 с.
61. Тихонов А. Н., Арсенин В. Я. Методы решения некорректных задач М.: Наука, 1979. - 142 с.
62. Тихонов А. Н., Костомаров Д.П. Вводные лекции по прикладной математике М.: Наука, 1984. - 192 с.
63. Тойберт П. Оценка точности результатов измерений: Пер. с нем. М.: Энергоатомиздат, 1988. - 88 с.
64. Тоценко В. Г., Александров А. В., Парамонов Н. Б. Корректность, устойчивость, точность программного обеспечения. Отв. ред. Сафонов И. В.; АН УССР. Ин-т проблем регистрации информации. Киев: Наук, думка, 1900.-200 с. ,
65. Уайлд Д.Дж. Методы поиска экстремума. М.: Наука, 1967.268 с.
66. Успенский В. А., Верещагин Н.К., Плиско В.Е. Вводный курс математической логики. 2-е изд. - М.: ФИЗМАТЛИТ, 2007. - 128 с.
67. Успенский В. А. Машина Поста М.: Наука, 1979. - 96 с.
68. Хайрер Э. и др. Решение обыкновенных дифференциальных уравнений. Нежесткие задачи: Пер. с англ. М.: Мир, 1990. - 512 с.
69. Черкесов Г. Н. Надежность аппаратно-программных комплексов. Учебное пособие. СПб.: Питер, 2005. - 479 с!
70. Яблонский Г.С., Спивак С.И. Математические модели химической кинетики. -М.: Знание, 1977. 64 с.
71. Augustin S.C. Modified Merson's investigation algorithm with saves two evaluation at each step // Simulation. -1974. V.22. - № 3. - P. 90-92.
72. Bishop P. G., Bloomfield R. E. Using a Log-normal Failure Rate Distribution for Worst Case Bound Reliability Prediction. Proc. of the 14th International Symposium on Software Reliability Engineering, 2003.
73. Bishop P. G. MC/DC based estimation and detection of residual faults in PLC logic networks. PG Bishop, ISSRE 2003, Fast Abstracts, Supplementary Proc., pp. 297-298, 17-20 November, Denver, Colorado, USA, 2003.
74. Clarke L. A System to generate test data and symbolically execute programs. IEEE Transactions on Software Engineering, 1976, vol 2, pp. 215222.
75. Frid A. I., Gubaydullin 1.1. About One Approach to Software Reliability Estimation. In: Proc. of 10th International Workshop on Computer
76. Science and Information Technologies (CSIT'2007), Vol. 1. Ufa, Russia, 2007, pp. 153-157. (style for Paper in a Proceedings).
77. Frid A. I., Gubaydullin 1.1. The System Reliability of Computational Methods (CSIT'2010), Vol. 1. Moscow St. Petersburg, Russia, 2010, pp. 158162. (style for Paper in a Proceedings).
78. Froment G.F. Single event kinetic modeling of complex catalytic processes // Catal. Rev. Sci. Eng. - 2005. - V.74. - №1. - P. 83-124.
79. Galin D. Software Quality Assurance: From Theory to Implementation. 2003. 616 p.
80. Glover F.W., Laguna M. Tabu search. Springer. - 1998. - 408 p.
81. Grady R. Practical Software Metrics For Project Management And Process Improvement, 1992, 282 p.
82. Jelinski J., MorandaP. B. Applications of a Probability // Based Model to a Code Reading Experiment, April 30 May 2, 1973. - P. 78-83.
83. Kan H. Metrics and Models in Software Quality Engineering. 2002.560 p.
84. King J. A new approach to program testing. In Proceedings of the International Conference on Reliable Software: ACM Press, 1975, pp. 228-233.
85. Lanza M., Marinescu R., Ducasse S. Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems, 2006, 206 p.
86. Lipov M. Some variation of a Model for Software Time-to-Failure // TRW Systems Group. Correspondence ML-74-2260, 19-21 Aug, 1974. '
87. Lorens M., Kidd J. Object-Oriented Software Metrics, 1994, 146 p
88. Lyu R. Handbook of Software Reliability Engineering. 1996. 819 p.
89. MorandaP. В., Jelinski J. Software Reliability Research // Statistical Computer Peiformance Evaluation / Ed. by W. Freiberger. N. Y.: Academic, 1972.
90. Nicolescu В., Velazco R. A Software Fault Tolerance Method for Safety-Critical Systems: Effectiveness and Drawbacks. SBCCI: 15th IEEE Symposium on Integrated Circuits and Systems Design, Porto Alegre (Brasil), Septempber 2002, pp. 101-106.
91. Pan J. Software Reliability // Carnegie Mellon University. 1999. URL: http://www.ece.cmu.edu/~koopman/dess99/swreliability/ (дата обращения: 22.09.2010).
92. Rebaudengo M., Sonza Reorda M. Soft-error Detection through Software Fault-Tolerance techniques. DFT99: IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems, November 1-3 1999 -Albuquerque, USA, pp. 210-218
93. Shick C. J., Wolverton R. W. Assessment of Software Reliability // Proc. 11-th Annual Meeting of the German Operation Research Society. Hamburg, Germany, 6-8 Sept., 1972.
94. Shooman M. L. Probabilistic models for software reliability prediction // International Symp. Fault Tolerant Computing. Newton, Mass.; N. Y., 1972.
95. Sukert C. A. An investigation of software reliability models // Pioc. Annual Reliability and Maintainability Symp. 1977. - P. 478-484.
96. TianJ, Software Quality Engineering: Testing, Quality Assurance, and Quantifiable improvement. 2005. 440 p.
97. Tom DeMarko. Controlling software projects: management, measurement and estimation. Yourdon Press, 1982, p. 284.
98. Tracey N. A Search-Based Automated Test-Data Generation Framework for Safety Critical Software. PhD thesis, University of York, 2000.
99. Wall J. K., Ferguson P. A. Pragmatic software reliability prediction // Proc. 1977 Annual Reliability and Maintainability Symp. 1977. - P. 485-488.
100. Walston C., Felix C. A method of programming measurement and estimation // IBM Systems Journal, vol. 16, № 1, 1977, pp. 54-73.
101. Wasserman PL, Blum M. Software Reliability via Run-Time Result-Checking. Proc. 35th IEEE Symp. Foundations of Computer Science, 1994, pp. 382-392.
102. Wilfredo Torres-Pomales. Software Fault Tolerance: A Tutorial. NASA Langley Research Center, Washington, USA, p. 66.
103. Zeiss B., Vega D., Schieferdecker I., Neukirchen H., Grabowski J. Applying the ISO 9126 Quality Model to Test Specifications Exemplified for TTCN-3 Test Specifications. Software Engineering 2007 // Lecture Notes in Informatics. Bonn, 2007, pp 231-242.
-
Похожие работы
- Разработка и моделирование систем комплексирования разнородных наблюдений
- О специальных представлениях метрических конфигураций
- Моделирование алгоритмов комплексирования разнородных навигационных наблюдений
- Технологии и алгоритмы повышения качества изображений земной поверхности на основе комплексирования спектрозональной видеоинформации
- Алгоритмы вейвлет-анализа и компенсации геометрических шумов сигналов тепловизионных систем с матричными фотоприемниками
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность