Актуальность темы
Одним из главных направлений ускорения научно-технического прогресса является совершенствование вычислительной техники, экономико-математических методов и программного обеспечения систем управления.
Качество и эффективность функционирования современных автоматизированных систем управления в значительной степени определяется качеством используемого в них программного обеспечения, которое представляет собой большие комплексы программ объемом в десятки тысяч команд. Одним из основных этапов формирования качества сложных комплексов программ АСУ является системная отладка. Трудоемкость существующих методов отладки комплексов программ АСУ составляет около 50% общей трудоемкости разработки и внедрения системы, а длительность — величину порядка одного года [27].
Наиболее перспективными путями уменьшения трудоемкости подготовки и повышения качества комплексов программ АСУ является разработка и использование формализованных моделей и методов планирования и организации процессов отладки, автоматизация генерации тестов и локализации ошибок, разработка автоматизированных систем отладки.
Известные в настоящее время методы оптимизации отладочных работ недостаточно формализованы, не всегда и не в должной мере учитывают специфику создания и функционирования АСУ, реализованы для частных случаев или отдельных этапов отладки. Это не позволяет учесть все необходимые факторы, влияющие на качество комплексов программ АСУ, и приводит к решению общей проблемы совершенствования отладки на основе здравого смысла, интуиции и опыта разработчиков и программистов.
Разработка и использование методологии повышения качества комплексов программ АСУ, формальных методов и моделей планирования и организации системной отладки позволяет существенно сократить стоимость и сроки разработки и внедрения программного обеспечения и повысить качество проектируемых систем управления.
Широкое использование АСУ в различных отраслях народного хозяйства, рост объема и сложности используемого в них программного обеспечения, существенные затраты времени и средств на его отладку, а также значительные потери от необнаруженных в процессе отладки ошибок обусловливают актуальность выполненных и представленных в диссертации научных исследований.
Цель работы. Целью диссертационной работы является разработка методологии планирования и организации системной отладки сложных комплексов программ АСУ, формализованных моделей, методов и алгоритмов проведения отладочных работ, обеспечивающих повышение качества программного обеспечения функциональных задач АСУ.
Научная новизна. На основании проведенных исследований и обобщения существующих методик и опыта отладки сложных комплексов программ в АСУ различного класса и назначения разработана методология планирования и организации системной отладки, основу которой составляет многоэтапный итеративный процесс получения комплекса программ с заданными показателями качества.
В рамках предложенной методологии сформулированы постановки задач, разработаны модели, методы, специальные алгоритмы и программы оптимального планирования и организации процессов системной отладки, обеспечивающие: выбор оптимальной стратегии системной отладки (определение состава и последовательности отлаживаемых структур исследуемого комплекса программ, а также состава и структур «заглушек» и «драйверов») по критериям минимума временных и стоимостных затрат на проведение отладочных работвыбор множества тестов, позволяющих получить заданные значения показателей качества, по критериям минимума временных и стоимостных затрат на отладку на основе использования специальных таблиц «компоненты-маршруты» и «маршруты-тесты» — организацию оптимизационной последовательности процедур получения заданных значений показателей физической реализуемости и времени функционированияопределение состава областей локализации ошибок по результатам тестированияпроведение целенаправленного поиска ошибок с учетом весов элементов области локализации в формировании ошибочных результатов тестов на основе использования языка сетей Петри.
Предложенные в работе постановки задач оптимизации системной отладки, методы и алгоритмы их решения впервые разработаны и опубликованы автором и позволяют формализовать, оптимизировать и в значительной степени автоматизировать процессы планирования и проведения системной отладки сложных комплексов программ АСУ, а также повысить качество программного обеспечения, передаваемого в эксплуатацию, и снизить затраты и время на проведение работ по его отладке.
Практическая, ценность. Разработанные модели и методы позволяют оптимизировать процесс системной отладки и повысить качество сложных комплексов программ АСУ. Использование предлагаемой методологии планирования и организации системной отладки и совокупности формализованных моделей, методов и алгоритмов обеспечивает существенное снижение (на 20−25%) временных и стоимостных затрат на отладку при нормативных трудозатратах. Методы решения поставленных задач реализованы с использованием стандартного математического обеспечения ЕС ЭВМ, а также специально разработанного на языке Фортран программного обеспечения, что позволяет использовать предлагаемые методы и алгоритмы при разработке и отладке комплексов программ АСУ в различных научно-исследовательских и проектных организациях и вычислительных центрах.
Внедрение. Предложенная методология планирования и организации системной отладки, методы выбора оптимальной стратегии системной отладки, методы выбора оптимальных тестовых множеств и организации процессов тестирования по показателям физической реализуемости и времени функционирования, а также методы автоматизации процессов локализации с использованием сетей Петри применены при разработке и отладке функциональных задач подсистем АСУ БПО «Союзрезинотехника», при создании 1-й очереди АСУ МТС «Метро» и при разработке информационного и программного обеспечения АСУ группы предприятий Молдавского региона, что позволило повысить качество проектных решений, уменьшить количество необнаруженных ошибок, сократить трудоемкость и время проведения системной отладки на 20−25 $.
В целом внедрение разработанных методов оптимизации системной отладки позволило получить экономический эффект свыше 90 тыс. рублей в год.
Содержание работы. В первой главе диссертации рассмотрены проблемы повышения качества программного обеспечения АСУ, Определены цели, этапы и методы системной отладки как основного этапа формирования качества сложных комплексов программ АСУ. Приведен обзор известных методов обеспечения качества и эффективности отладочных работ и анализ возможностей их совершенствования. Анализ современных методов повышения качества комплексов программ АСУ позволил определить основные направления их развития, важнейшими из которых являются создание методологии планирования и организации системной отладки, оптимизации и автоматизация отдельных этапов системной отладки.
Отличительными особенностями рассматриваемых в работе комплексов программ АСУ являются: большое разнообразие и количество взаимосвязанных структурированных программных модулей, обеспечивающих выполнение основных функций системы управлениябольшие объемы перерабатываемой информациисравнительно несложные процедуры преобразования с большой долей логических процедур преобразования данныхповышенные требования к времени функционирования, защите от несанкционированного доступа, надежности, достоверности исходных данных и т. п.
Основными этапами системной отладки таких комплексов программ являются: анализ текста программы, построение моделей и составление плана отладкитестирование физической реализуемоститестирование времени функционирования, функций, связей по управлению и информациитестирование надежности и защитыанализ эффективности комплекса программ и т. п.
Системную отладку предлагается рассматривать как итеративный процесс получения программного продукта с заданными показателями качества. Для оценки качества программного обеспечения АСУ на этапе системной отладки предложена система следующих обобщенных показателей: сложность, избыточность, физическая реализуемость, время функционирования, функциональная корректность, согласованность по информации, согласованность по управлению, показатели, характеризующие надежность, эффективность систем защиты и средств восстановления, затраты на проектирование и отладку комплекса программ. Введенная система показателей качества позволяет рассматривать кавдый этап системной отладки как итеративный процесс, каждая итерация которого предусматривает оценку определенной совокупности показателей качества, сравнения этих значений с требованиями спецификаций, выбора действий по установлению причин выявленных несоответствий, их локализации и устранению. Такой подход обеспечивает широкие возможности для разработки и применения методов оптимизации планирования и организации отладочных работ.
Во второй главе на основе использования графовых моделей исследуемого комплекса программ рассматриваются задачи оптимального планирования системной отладки.
Планирование системной отладки предлагается проводить с учетом структуры комплекса программ на основе выбора стратегии проведения отладочных работ, т. е. состава и последовательности отлаживаемых подструктур, обеспечивающих оптимальные временные или стоимостные характеристики отладки.
Задачи выбора оптимальной стратегии системной отладки поставлены и решены с использованием графовой модели комплекса программ, в которой вершинами являются подпрограммы комплекса, дугами — связи по управлению между ними, а также с использованием блок-схем комплекса программ и его частей. Использование этих моделей обеспечивает возможность определения основных структурных характеристик комплекса программ, формализацию и выделение основных инструментов отладки в виде специальных подпрограмм, определяющих общее время и стоимость проведения отладочных работ для заданной стратегии системной отладки.
Поставлена общая задача выбора оптимальной стратегии системной отладки и исследованы методы ее решения. В качестве критерия оптимальности приняты минимум времени, необходимого для проведения отладочных работ, либо минимум общей стоимости их проведения.
Разработаны методы и алгоритмы расчета средних длин и среднего количества маршрутов обработки информации для определения временных и стоимостных характеристик стратегий системной отладки.
Разработан метод выбора оптимальной стратегии системной отладки из множества заданных стратегий. Решение задачи выбора оптимальной стратегии осуществляется с использованием стандартного математического обеспечения. Приведен пример практического использования предложенных моделей, методов и алгоритмов выбора оптимальной стратегии отладочных работ.
В третьей главе исследованы методы и алгоритмы оптимизации тестирования, по результатам которого определяются фактические значения основных показателей качества комплекса программ АСУ, и осуществляется выбор действий по приведению этих значений к требованиям спецификаций.
Рассмотрены модели и методы выбора оптимальных множеств тестов для оценки значений компонент показателей качества и тестов, по результатам которых проводится локализация ошибок. Выбор таких тестовых множеств позволяет получить в процессе системной отладки комплекс программ с заданными показателями качества при минимальных временных или стоимостных затратах на проведение отладочных работ.
Выбор тестов проводится с использованием таблиц «компоненты-маршруты» и «маршруты-тесты», получаемых на основании анализа компонент показателей качества, структурных элементов блок-схем и множеств тестов для проверки структурных элементов. Задачи формулируются как линейные задачи математического программирования и решаются с использованием стандартного пакета прикладных программ.
Рассмотрены особенности показателей физической реализуемости и времени функционирования. Исследован необходимый набор процедур по определению фактических значений этих показателей и приведению их в соответствие с требованиями спецификаций.
Процесс тестирования физической реализуемости комплекса программ предлагается сопровождать решением задач оптимизации объема оперативной памяти, необходимой на размещение информационных элементов исследуемого комплекса программ в процессе его функционирования.
Процесс тестирования времени функционирования сопровождается исследованием возможностей сокращения времени решения задачи комплексом программ. Предлагается алгоритм, позволяющий сократить это время за счет параллельной работы операций ввода-вывода и информационно-независимых от них частей комплекса программ. Определение информационно-независимых от операций ввода-вывода частей комплекса программ предлагается осуществлять с использованием матриц смежности и достижимости вершин блок-схемы исследуемого комплекса программ.
Рассмотрено применение методов оптимизации процессов тестирования при отладке комплексов программ задач АСУ МТС 'Метро" .
В четвертой главе исследуются процессы локализации ошибок, модели и методы их формализации и автоматизации с использованием аппарата сетей Петри.
Локализацию ошибок, вызывающих несоответствие значений показателей качества требованиям спецификаций и выявленных в процессе тестирования, предлагается осуществлять с использованием метода обратного хода от ошибочных выходных результатов теста к источникам их формирования. С целью сокращения трудоемкости и стоимости системной отладки предложена двух-шаговая процедура поиска ошибок с использованием метода обратного хода. На первом шаге по результатам тестирования определяется перечень информационных элементов области локализации и их вес в формировании ошибок и создается локализаци-онный тест для определения значений элементов области локализации. На втором этапе с учетом весов элементов области локализации осуществляется целенаправленный поиск места расположения ошибки в комплексе программ путем последовательного анализа значений элементов области локализации, полученных в результате локализационного теста.
Использование специальных сетей Петри для моделирования двух шагов поиска ошибок позволяет формализовать, оптимизировать и в значительной степени автоматизировать процессы определения областей локализации ошибок и мест их расположения в исследуемом комплексе программ.
Специально разработанное математическое и программное обеспечение является основой автоматизированной системы локализации ошибок в сложных комплексах программ АСУ, использование которой при отладке функциональных задач АСУ МТС «Метро», АСУ ШО «Союзрезинотехника» и других АСУ позволило сократить трудоемкость отладки в целом на 20−25% и повысить качество создаваемых комплексов программ.
В приложении к диссертации приводятся доказательства утверждения для определения областей локализации и мест расположения ошибок в комплексе программ, оценка экономической эффективности применения разработанных моделей и методов при проведении отладочных работ в АСУ МТС «Метро» и материалы, подтверждающие внедрение и практическое использование полученных автором результатов.
Апробация работы. Основные результаты диссертационной работы обсуждались и докладывались автором на XKIX и XXX Конференциях молодых ученых Института проблем управления (Москва, 1983,1984), 8-м Всесоюзном совещании 'Управление большими системами" (Алма-Ата, 1983), IX Всесоюзном совещании по проблемам управления (Ереван, 1983), Международной конференции «Диагностическое обеспечение цифровых систем» (ЧССР, Брно, 1983), Координационном совещании Комиссии «Автоматизация проектирования систем управления» секции «Техническая кибернетика» Научного совета АН СССР (Москва, 1984).
Публикации. Результаты проведенных исследований опубликованы в трех научных трудах.
Объем работы. Диссертационная работа состоит из введения, четырех глав, заключения и двух приложений. Работа включает 148 страниц машинописного текста, 21 рисунок, 7 таблиц и список литературы (72 наименования).
ЗАКЛШЕНИЕ.
1. Проведен анализ этапов и известных методов повышения качества сложных комплексов программ АСУ. Обоснована необходимость создания методологии планирования и организации системной отладки как основного этапа формирования качества комплексов программ АСУ.
2. Разработана методология планирования и организации системной отладки, определяющая основные методы и этапы отладочных работ. Предложенная методология основана на использовании формализованных моделей, методов и алгоритмов планирования и организации системной отладки в рамках многоэтапного итеративного процесса получения комплекса программ заданного качества. Систематизированы основные показатели качества комплексов программ АСУ на этапе системной отладки.
3. Разработаны модели, методы и алгоритмы планирования системной отладки, позволяющие в отличие от известных методов осуществлять планирование отладочных работ с учетом структуры комплекса программ на основе выбора оптимальной стратегии отладки. Поставлена общая задача выбора стратегии системной отладки, обеспечивающая минимальное время или стоимость на ее проведение, и исследованы возможности ее решения. Разработан метод выбора оптимальной стратегии системной отладки из множества заданных стратегий по критериям минимума времени и стоимости на проведение отладочных работ, основанный на использовании специальных алгоритмов расчета временных и стоимостных характеристик стратегий системной отладки. Разработанные методы планирования системной отладки обеспечивают выбор состава и последовательности отлаживаемых подструктур комплекса программ, а также состава подпрограмм «заглушек» .
41 о •" и «драйверов при минимальных временных и стоимостных характеристиках системной отладки.
4. Разработаны модели и методы определения оптимального множества тестов для оценки значений требуемых показателей качества комплекса программ и оптимального множества тестов, по результатам которых проводится локализация ошибок. Выбор оптимальных тестовых множеств в рамках выбранной стратегии системной отладки обеспечивает заданную полноту проверки графовых подструктур комплекса программ при минимальных временных или стоимостных характеристиках на проведение отладочных работ.
5. Рассмотрены особенности показателя физической реализуемости комплекса программ и методы определения необходимого набора процедур по приведению значений компонент этого показателя к требованиям спецификаций. Поставлены и решены задачи перераспределения требуемой памяти комплекса программ, обеспечивающие оптимизацию объема оперативной памяти, необходимой на размещение его информационных элементов. Поставлена и решена задача оптимальной сегментации комплекса программ, обеспечивающая его размещение в заданном объеме оперативной памяти.
6. Рассмотрены особенности показателя времени функционирования комплекса программ и методы определения необходимого набора процедур по приведению его значений в соответствие с требованиями спецификаций. Предложены методы и алгоритмы сокращения времени функционирования комплекса программ за счет организации параллельного выполнения операций ввода-вывода и информационно независимых от них частей комплекса программ, обеспечивающие получение заданных значений показателя времени функционирования.
7. На основе анализа процесса локализации ошибок, характеристик и свойств ошибок в сложных комплексах программ на этапе системной отладки, а также возможностей применения аппарата сетей Петри разработан метод локализации ошибок, определяющий основные шаги процесса локализации и позволяющий в отличие от других методов проводить целенаправленный автоматизированный поиск ошибок в комплексе программ с учетом результатов конкретных тестовых наборов.
8. Разработаны формализованные модели локализации ошибок в сложных комплексах программ с использованием языка специальных сетей Петри, отображающие процесс определения области локализации ошибок по результатам тестирования и процесс целенаправленного поиска места расположения ошибок в комплексе программ с учетом весов элементов области локализации и позволяющие автоматизировать основные операции этих процессов.
9. На основе предложенных моделей, методов и специального математического обеспечения разработана автоматизированная система локализации ошибок в комплексах программ АСУ, позволяющая автоматически проводить основные операции процесса локализации ошибок, и сократить время и трудоемкость системной отладки в целом на 20−30% и повысить качество проектируемых комплексов программ,.
10. Разработанная методология системной отладки, модели и методы оптимизации планирования и организации отладочных работ использовались при отладке комплексов программ АСУ МТС «Метро», АСУ ЕЛО «Союзрезинотехника», АСУ группы предприятий Молдавского региона.