автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Методы разработки и контроля качества программных средств обработки и анализа изображений

кандидата технических наук
Балыков, Евгений Александрович
город
Череповец
год
2006
специальность ВАК РФ
05.13.11
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Методы разработки и контроля качества программных средств обработки и анализа изображений»

Автореферат диссертации по теме "Методы разработки и контроля качества программных средств обработки и анализа изображений"

На правах рукописи

Балыков Евгений Александрович

Методы разработки и контроля качества программных средств обработки и анализа изображений

05.13.11 -Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Санкт-Петербург 2006

Работа выполнена в Институте менеджмента и информационных технологий (филиале в г. Череповце) ГОУ ВПО "Санкт-Петербургский государственный политехнический университет".

Научный руководитель:

кандидат технических наук, доцент Царев Владимир Александрович.

Официальные оппоненты: доктор технических наук, профессор

Александров Анатолий Михайлович кандидат технических наук, доцент Лямин Андрей Владимирович

Ведущая организация:

Институт системного программирования Российской академии наук (г. Москва)

Защита состоится 20 апреля 2006 г. в 1600 часов на заседании диссертационного совета Д 212.229.18 при ГОУ ВПО "Санкт-Петербургский государственный политехнический университет" по адресу: 195251, Санкт-Петербург, Политехническая 29,9-й учебный корпус, ауд. 325.

С диссертацией можно ознакомиться в фундаментальной библиотеке ГОУ ВПО "Санкт-Петербургский государственный политехнический университет".

Автореферат разослан 14 марта 2006 г.

Ученый секретарь диссертационного совета

Шашихин В.Н.

аооь н

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы.

В настоящее время одним из перспективных направлений развития информационных технологий в таких областях человеческой деятельности, как промышленное производство, транспортные перевозки, медицина, охранное наблюдение и т.п. является создание средств информационной поддержки в составе автоматизированных систем контроля и управления. Указанные системы включают в себя как телекоммуникации, так и подсистемы сбора, обработки и анализа данных. При этом в качестве входного потока информации (или его части) широко используются изображения, т.е. данные, полученные с помощью приборного наблюдения (в основном, сканирования и фотографирования в различных диапазонах частот) соответствующих объектов или сцен.

Благодаря появлению в последние годы достаточно мощных и доступных средств вычислительной техники в большинстве приложений стало возможно выполнять обработку и анализ входных изображений на базе ПЭВМ при помощи специально создаваемых программных средств (ПС). Основными этапами представления, обработки и анализа информативных сигналов, которые в совокупности или в отдельных сочетаниях могут выполняться ПС обработки и анализа изображений (ОАЩ являются следующие: фильтрация, сегментация, классификация изображения и его фрагментов, распознавание графических образов. Методы и алгоритмы, которые могут быть использованы при разработке математического обеспечения указанных этапов, широко представлены в научно-технической литературе.

Наиболее важная особенность задач обработки и анализа изображений заключается в том, что большинство из них являются плохо формализуемым а Сказывается отсутствие адекватклх математических моделей наблюдаемых реальных ситуаций или объектов, на базе которых можно было бы вести расчеты и получать количественные и качественные выводы, а также разрабатывать соответствующее программное обеспечение (ПО). В то же время практически любой человек в реальной жизни постоянно и успешно решает такие задачи и может выступать экспертом как при подготовке обучающего и тестового материала, так и при оценке эффективности алгоритмов, реализуемых ПС ОАИ.

Указанная особенность, накладывая ограничения в рамках общей проблемы синтеза и оптимизации алгоритмов обработки и анализа изображений, обуславливает также возникновение ряда вопросов и задач, решение которых необходимо для организации эффективных процессов разработки, обеспечения и контроля качества ПС ОАИ, реализующих такие алгоритмы. Так при разработке и автоматизации контроля качества ПС ОАИ, оперирующих трудно формализуемыми понятиями, требует решения задача адекватного описания спецификаций. Широкое использование эвристических алгоритмов при создании ПС ОАИ затрудняет выполнение процессов контроля качества таких ПС, в первую очередь, тестирования и отладки. Кроме того, наличие в коде ПС ОАИ большого количества массивов, циклов и операторов, которые могут не завершиться и привести к исключительной ситуации или аварийному сбою (особые операторы X обуславливает необходимость использования специализированных способов и методик верификации, тестирования и отладки

Исследование теоретических и практических аспектов разработки и контроля качества ПС отражено в трудах В.Н.Агафонова, А.П.Ершова, С.СЛаврова, ВВЛипаева, В. А .Непомнящего, С.А. Орлова, Р.Андерсона, Б.Боэма, Г.Буча, ЭДейкстры, ГМайерса, Р.Флойда, Ч.Хоара и др. Однако применение предложенных в этих трудах методов разработки и контроля качества ПО на практике при создании ПС ОАИ сталкивается со значительными трудностями. Как правило, с учетом указанных особенностей известные методы не гарантируют высокую эффективность процессов разработки высококачественных ПС ОАИ по такия критериям, как трудоемкость тестирования и отладки, достигнутые значения показателей корректности и надежности ПС (степени верификации, тестового покрытия, наработки на отказ). В конечном итоге это приводит к увеличению сроков разработки информационных систем с функциями обработки и анализа изображений и не позволяет обеспечить требуемые показатели качества ПО таких систем.

Таким образом, рассматриваемая в работе проблема повышения эффективности процессов разработки и контроля качества ПС ОАИ является весьма актуальной и обусловлена «пригодностью или низкой эффективностью известных методов и средств разработки и контроля качества ПО с учетом специфики решаемых, плохо формализуемых задач и используемых алгоритмов обработки и анализа изображений. Цель работы.

Целью диссертационной работы является совершенствование известных и создание специализированных методов и средств, позволяющих повысить эффективность процессов разработки и контроля качества ПС ОАИ с учетом специфических особенностей решаемых, плохо формализуемых задач и используемого алгоритмического обеспечения различных этапов обработки и анализа изображений. Основные задачи.

Для достижения указанной цели в работе поставлены следующие основные задачи:

Адаптировать известные и создать специализированные методы и средства разработки и контроля качества ПО, применяемые на этапах подготовки спецификаций, программной реализации, верификации, тестирования и отладки ПС ОАИ, учитывающие специфические особенности области приложения и позволяющие повысить эффективность процессов разработки и контроля качества ПС ОАИ.

Апробировать и продемонстрировать применение предложенных методов и инструментальных средств в процессе разработки ПО системы технического зрения, на примере опгоэлекгронной системы идентификации (ОЭСИ) объектов подвижного состава железнодорожного транспорта (ЖТ). Оценить влияние предложенных методов и средств на эффективность процессов разработки и контроля качества ПС ОАИ по критериям: трудоемкости тестирования и отладки, достигнутым значениям показателей корректности и надежности ПС (степени верификации, тестового покрытия, наработки на отказ). Предмет исследования.

Процессы, методы и средства разработки и контроля качества ПС ОАИ.

Методы исследования.

Для решения поставленных задач использованы теоретические основы технологии разработки ПО, методы проектирования и анализа алгоритмов, теория верификации, тестирования и отладки программ, математический аппарат технологии обработки и анализа изображений, теория планирования в реальном времени и анализа последовательности событий, а также методы планирования научного эксперимента и обработки результатов экспериментальных исследований. Научная новизна.

1. Предложен метод формализованного описания спецификаций алгоритмов и программных модулей (ПМ) ОАИ, включающий способ описания трудно формализуемых понятий при помощи формируемого экспертом массива "прецедентов", т.е. соответствующих пар вида "входная информация -выходная информация". Метод позволяет сформировать единые требования для этапов разработки и программной реализации алгоритмов решения плохо формализуемых задач обработки и анализа изображений при создании ПС ОАИ, а также существенно снизить трудоемкость фазы тестирования таких ПС за счет автоматизации процедур контроля качества.

2. Предложен метод поиска источника ошибки, выявленной на этапе тестирования в ПМ, реализующем эвристический алгоритм анализа изображений, основанный на "многоязыковой" реализации алгоритма, характерной при разработке ПС ОАИ, и сравнительном анализе результатов исполнения основной и вспомогательной программных реализаций алгоритма. Применение предложенного метода позволяет сделать процесс отладки таких ПМ более управляемым и сократить трудоемкость процедур отладки.

3. На основе классических методов Флойда и Хоара предложен способ верификации программ, позволяющий обосновывать корректность ПМ, содержащих подпрограммы, массивы и особые операторы, и соответственно повышать степень корректности ПС (степень верификации и тестового покрытия).

4. Предложен способ тестирования завершаем ости циклических структур обработки массивов видеоданных и списков возможных решений, учитывающий специфику циклов ПМ ОАИ, позволяющий повысить качество создаваемых ПС ОАИ за счет увеличения степени надежности. Практическая ценность.

1. Синтезирована модель жизненного цикла (ЖЦ) ПС ОАИ, учитывающая особенности подобных программных средств. Даны практические рекомендации по выбору и применению методов и средств выполнения основных фаз жизненного цикла ПС ОАИ: подготовки спецификаций, программной реализации, верификации, тестирования и отладки.

2. Предложена методика обоснования конструктивной правильности ПМ, реализующего эвристический алгоритм.

3. Сформированы унифицированные системы формализованных спецификаций для основных ПМ ОЭСИ транспортных средств (ТС) и оптико-электронной системы контроля (ОЭСК) качества поверхности листового металлопроката, которые могут быть широко использованы при разработке алгоритмического и программного обеспечения подобных систем технического зрения.

4. Применение предложенных в работе методов и средств разработки и контроля качества ПС ОАИ детально продемонстрировано на примере проекта по созданию ПО ОЭСИ объектов подвижного состава ЖТ - ARSCIS. Даны практические рекомендации по формированию спецификаций качества и комплексной стратегии контроля качества, оценке сложности и достигнутого уровня качества созданного ПС и ему подобных. Разработан набор тестовых классов, упрощающих процесс тестирования ПО ОЭСИ ТС.

5. Разработана открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования UML) ПО ОЭСИ объектов подвижного состава ЖТ. Архитектура обеспечивает возможности: подключения обновленных и дополнительных алгоритмов и оборудования без модификации и перекомпиляции всего ПС; адаптивной настройки алгоритмической и аппаратной подсистем в ходе функционирования ПС; сбора исторической информации, позволяющей повысить эффективность принятия решений в задачах обработки и аналша последовательности изображений. Архитектура может быть широко использована при разработке ПО систем t контроля с функциями обработки и анализа изображений различного назначения.

6. Предложенные в работе методы и средства разработки и контроля качества ПС ОАИ используются в научно-производственной компании "Малленом" (г. Череповец) в качестве базовых при организации процесса разработки ПО ОЭСК различного назначения, что подтверждается актами о внедрении. При не посредственном участии автора на базе этой компании были созданы и внедрены следующие системы: ОЭСИ движущихся автотранспорпшх средств -ReCar (разработка выполнялась по заказу мэрии г. Череповца); ОЭСИ объектов подвижного состава ЖТ - ARSCIS (разработка выполнялась по заказу администрации ст. Череповец СЖД); оптоэлектронный дефектоскоп листового металлопроката (разработка выполнялась по заказу ОАО "Северсталь"). Указанные системы в 2005 г. удостоены дипломов I и II степеней Правительств г. Санкт-Петербурга и Вологодской области по итогам открытых конкурсов на лучшие инновационные научно-технические разработки и проекты.

7. Результаты исследований используются в учебном процессе ИМИТСПбГПУ в рамках дисциплины "Обеспечение качества программных продуктов", в соответствующих разделах дисциплин "Технология разработки ПО" и "Компьютерная графика" для специальности 230105 - Программное обеспечение вычислительной техники и автоматизированных систем. Апробация работы.

Основные положения диссертации докладывались и обсуждались на международной научно-технической конференции "Инфотех-2001" (Череповец, 2001X всероссийской научно-практической конференции "Образование. Наука. Бизнес. Особенности регионального развития и интеграции" (Череповец, 2002г., 2003г., 2004г., 2005г.), IX международной выставке научно-технических проектов 'ЭКСПО-НАУКА 2003" (Москва, 2003X ХХХП военно-научной конференции (Череповец, 2004), IX международной научно-технической конференции (Ульяновск, 2004), Межвузовском конкурсе-конференции "Технологии Microsoft в теории и практике программирования" (Санкт-Петербург, 2004 г., 2005 г.), на VII международной конференции "Распознавание образов и анализ изображений: новые

информационные технологии" (Санкт-Петербург, 2004), на 10-ой юбилейной выставке-конгрессе "Высокие технологии. Инновации. Инвестиции" (Санкт-Петербург, 2005), на 1-ой научно-практической конференции "Инновационные проекты, новые технологии и изобретения на железнодорожном транспорте (Москва, 2005), а также на научных семинарах кафедр ИУС и РВКС ФТК СПбГПУ. Публикации.

По материалам диссертации опубликовано 17 печатных работ. На защиту выносятся:

1. Метод формализованного описания спецификаций алгоритмов и ПМ ОАИ, оперирующих трудно формализуемыми понятиями, и унифицированная система формализованных спецификаций основных этапов функционирования ПО ОЭСИ ТС, созданная на базе предложенного метода.

2. Метод поиска источника ошибки в ПМ ОАИ, реализующих эвристические алгоритмы обработки и анализа изображений.

3. Способ верификации программ, позволяющий обосновывать корректность ПМ, содержащих подпрограммы,массивы и особые операторы.

4. Способ тестирования завершаемости циклических структур, содержащихся в ПС ОАИ.

5. Открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования ЧМЬ) ПО ОЭСИ объектов подвижного состава Ж Т.

Структура и объем работы.

Диссертационная работа состоит из введения, пяти глав, заключения и приложения. Содержит 156 страниц основного текста, 64 рисунка, 25 таблиц, список использованной литературы из 96 наименований, 17 приложений на 45 страницах.

СОДЕРЖАНИЕ РАБОТЫ

Во введении обоснована актуальность работы, сформулирована цель и поставлены задачи проводимых исследований, определены научная новизна и практическая значимость результатов, приведены сведения о публикациях и апробации полученных результатов.

В первой главе дается общая характеристика ПС ОАИ как средств информационной поддержки в составе автоматизированных систем контроля и управления. Указаны основные области применения современных ПС ОАИ в промышленном производстве, на транспорте, медицине, охранном наблюдении и т.п., представлены виды и способы формирования входных изображений. Перечислены основные этапы обработки и анализа информативных сигналов, которые в совокупности или в отдельных сочетаниях могут выполняться ПС ОАИ: фильтрация, сегментация, классификация изображения и его фрагментов, распознавание графических образов.

Выявлена наиболее важная особенность задач обработки и анализа изображений (в основном этапов сегментации и классификации), которая заключается в таи, что большинство из них являются плохо формализуемыми. Обусловлено это, как правило, отсутствием адекватных математических моделей наблюдаемых реальных ситуаций или объектов, на базе которых можно было бы вести расчеты и получать количественные и качественные выводы, а также

разрабатывать соответствующее ПО. Разработчиками алгоритмов и ПС приходится оперировать рядом понятий, не имеющих формального описания и по этой причине трудно формализуемых. К таким понятиям, к примеру, можно отнести кадр, содержащий изображение объекта контроля (графический образ человека, ТС), область, содержащую искомый графический образ (дефект на листе металла, регистрационный номер (РН) ТС) и т.д. Отсутствие математического описания таких объектов порождает проблему построения формальных спецификаций, в которых отсутствуют дефекты неоднозначности трактовки требований, неполноты, противоречивости, и которые столь необходимы для построения корректных архитектурных моделей, эффективного алгоритмического обеспечения, программной реализации и автоматизации процедур контроля качества ПС ОАИ. В то же время отмечено, практически любой человек в реальной жизни постоянно и успешно решает такие задачи и может выступать экспертом как при подготовке обучающего и тестового материала, так и при оценке эффективности алгоритмов, реализуемых ПС ОАИ. Поэтому в качестве замены адекватной математической модели чаще всего на практике при синтезе алгоритмов обработки и анализа изображений используются массивы прецедентов, т.е. соответствующих пар вида "входная информация - выходная информация", предварительно формируемых экспертом.

Отмечено, что методы и алгоритмы, которые могут быть использованы при разработке математического обеспечения этапов обработки и анализа изображений, широко представлены в научно-технической литературе. При этом для решения плохо формализованных задач сегментации и классификации изображений в большинстве случаев используются эвристические алгоритмы, синтезируемые на основе разум «лх интуитивных соображений и опыта проектировщика и, как правило, не имеющие теоретического обоснования содержательных гипотез. Специфика эвристических алгоритмов такова, что они не всегда обеспечивают нахождение правильного решения. Этот факт обуславливает появление двух проблем, специфичных для ПС ОАИ. Во-первых, известные методы верификации не могут быть применимы для доказательства корректности ПМ ОАИ, реализующих подобные алгоритмы. Во-вторых, затруднен поиск источника ошибки (ошибки алгоритма, его реализации или трансляции), выявленной на этапе тестирования или эксплуатации в ПМ ОАИ, который реализует некоторый эвристический алгоритм.

Проведен анализ существующих методов и средств разработки и контроля качества ПО. Отмечено, что существующие модели и системы организации производственных процессов разработки и обеспечения качества ПС (Cleanroom, СММ, PSP, Trillium, TSP, MSF) позиционируются на оценке и улучшении существующих производственных процессов и носят, в основном, организационный характер. В свою очередь, методы разработки и контроля качества программных продуктов носят общий характер и не учитывают указанных особенностей прикладной области.

Дополнительно в ходе анализа установлено, что классические методы верификации программ (методы Флойда и Хоара) требуют обобщения. Дело в том, что принятые в них допущения не учитывают ряд программных конструкций, используемых в ПС ОАИ (подпрограммы, массивы и операторы, выполнение которых может потенциально не завершиться и привести к исключительным или аварийным ситуациям). Кроме того, при реализации ПМ ОАИ широко

используются массивы и вложенные циклические структуры их обработки, ошибки реализации которых могут привести к состоянию зацикливания ПС ОАИ. Показано, что тестирование таких структур известными способами крайне затруднено.

Сделан вывод, о том, что указанные проблемы обуславливают увеличение сроков разработки информационных систем с функциями обработки и анализа изображений и не позволяют обеспечить требуемые значения показателей качества ПО таких систем. На основе принятых стандартов выделен ряд числовых критериев для оценки эффективности процессов разработки и контроля качества ПС ОАИ: трудоемкость тестирования и отладки, достигнутые значения показателей корректности и надёжности ПС (степень верификации и тестового покрытия).

На основе проведенного анализа определен круг основных решаемых в диссертационной работе задач, направленных на совершенствование известных и создание специализированных методов и средств, позволяющих повысить эффективность процессов разработки и контроля качества ПС ОАИ.

Во второй главе проведен анализ существующих стандартов и подходов построения ЖЦ, результаты которого позволили сформировать модель ЖЦ ПС ОАИ, схематично представленную на рис.1.

Рис.1 Модель ЖЦ ПС ОАИ.

В рамках полученной модели определена последовательность основных этапов конструирования ПС ОАИ и выбраны методы и средства их выполнения. Основу ЖЦ ПС ОАИ составляют итеративно-инкрементальный подход и унифицированный процесс, дополненные принципами генетического и формальных подходов, а также концепцией экстремального программирования.

Проведен сравнительный анализ существующих средств автоматизированной разработки. Выбран программный инструментарий, используемый на этапах ЖЦ ПС ОАИ, учитывающий особенности процесса разработки ПС ОАИ и позволяющий обеспечить высокое качество конструирования ПС ОАИ.

Одна из основных особенностей ПС ОАИ заключается в существовании трудно формализуемых спецификаций, которые не могут быть представлены в виде пары Ф(Ф,у/), где (р - предусловие программы, у/ - постусловие программы. Как следствие, затрудняется автоматизация процедур контроля качества ПС ОАИ, а процесс разработки ПМ, обладающих трудно формализуемыми спецификациями, становится плохо управляемым, что снижает качество программного продукта (ПП).

В целях решения указанной проблемы предлагается метод формализованного описания спецификаций алгоритмов и ПМ ОАИ с помощью массива прецедентов. Метод заключается в выделении двух частей: четко формализуемой и экспертной. Четко формализуемая часть спецификации задается при помощи набора предикатов над множеством состояний памяти. Экспертная часть (массив прецедентов) создается на основе интуитивных предположений, знаний и опыта эксперта в области обработки и анализа изображений. Предложенный метод позволяет представить трудно формализуемую спецификацию в виде Ф{<Р,у) = Фр^Ф/'Ф/ °¥е)> где Ф/г - формальная часть спецификации, ФЕ -

экспертная часть спецификации. Метод основан на том, что практически любой взрослый человек со своими органами зрения представляет универсальный механизм в области сегментации и классификации изображений, и может выступать экспертом в области обработки и анализа изображений. Метод формализованного описания спецификаций ПМ ОАИ включает следующие этапы: Этап 1. Выделение четко формализуемой части Фр(д>1,у//) ПМ ОАИ, оперирующего трудно формализуемыми понятиями:

1.1. Формирование предусловия <р}. Как правило, предусловие алгоритмов

обработки и анализа изображений в полной мере формализуемо и включает предикаты, определяющие ограничения на входное изображение, а также области значений входных переменных.

1.2. Формирование постусловия у/. Постусловие ПМ ОАИ должно определять

тип и ограничения вычисляемого результата, а также области допустимых значений внешних переменных, модифицируемых в ПМ ОАИ. Этап 2. Описание трудно формализуемой части спецификации постусловия ПМ ОАИ. В процессе формирования массива прецедентов дня каждого набора зрачений £> входных данных ПМ ОАИ выполняется процедура экспертной оценки £(£>) с целью указать желаемый ответ (требуемое состояние выходных данных = £(/))) алгоритма для заданных значений входных данных. В общем виде предикат у/е является «формализуемым, но его область истинности может быть частично задана некоторым набором состояний выходных данных ОЕош > сформированных экспертом на наборе обучающих и тестовых входных данных. Процедура частичного задания множества истинности предиката у, автоматизирована средствами созданного в рамках работы специализированного ПМ. В этом случае эксперту с учетом решат ой задачи требуется: при решении задачи сегментации выделить на входном изображении графические образы требуемых элементов рабочей сцены; при решении задачи классификации сопоставить изображению или его фрагментам значение формального признака, характеризующего класс объекта.

Этап 3. Объединение четко формализуемой и экспертной частей Ф(ср,Ч/) =Фг.Е(Ч>/'Ч//°Ч/е) • Объединение необходимо осуществлять таким образом, чтобы о у/, отражало семантику ПМ ОАИ. Данный этап выполняется с учетом

следующих правил и рекомендаций: 3.1. Пусть ПМ ОАИ должен выполнять сегментацию изображения и выделять области, семантика содержания которых трудно формализуема. Постусловие

10

регламентирует формирование списка У^, каждый элемент которого

представляет собой область на входном изображении. Предполагается, что каждая область содержит либо графический образ искомых на этапе сегментации элементов изображения (объекта контроля или его отдельных фрагментов), либо с учетом принятых допущений может содержать образы ложных элементов. Постусловие ц/е задает список У^, сформированный на базе массива прецедентов, каждый элемент списка также представляет собой некоторую область на входном изображении. Его отличие от списка У^

состоит в том, что области из У^„ содержат исключительно графические образы искомых элементов изображения. В этом случае предикат должен

описывать связь между списками сегментированных областей Уоб/, и У^. 3.2. Пусть ПМ ОАИ должен выполнять классификацию изображения или распознавать графический образ, представленный на этом изображении. Описание и число классов п, по которым выполняется классификация, задаются в <р}. На выходе алгоритма (требование ), как правило,

формируется вектор оценок правдоподобия р = (р1,...,р„^), где р, - оценка правдоподобия принадлежности изображения или образа классу <"=1 .п, р„+1 -оценка правдоподобия того факта, что образ не относится ни к одному го заданных классов. Постусловие 1//е регламентирует формирование экспертом номера истинного класса к которому может быть отнесен входной фрагмент. Предикат должен описывать связь между номером класса

и вектором р = {р\,-,р„1) •

Следует отметить, что при ограничении трудно формализуемой спецификации Ф(<р,у/)=Ф,7„Е{ч>рЧ//°¥е)г построенной в соответствии с данным методом, со всего

множества входных и выходных данных на наборы значений этих данных для которых сформирован массив прецедентов, такая спецификация становится полностью формальной. В целях повышения эффективности процесса формирования массива прецедентов создан специализированный ПМ автоматизации работы эксперта в области обработки и анализа изображений.

На основе предложенного метода сформированы унифицированные системы формализованных спецификаций основных этапов функционирования ПО ОЭСИ ТС и ОЭСК качества листового металлопроката, позволяющие осуществлять разработку эффективных алгоритмов и ПМ ОАИ на основе полных и непротиворечивых требований, а также автоматизировать процедуры контроля качества ПС ОАИ.

Специфической особенностью математического обеспечения обработки и анализа изображений является использование эвристических алгоритмов, их основное отличие от точных алгоритмов, заключается в том, что они не всегда дают правильное решение. Следовательно, если выявлена ошибка в ПМ ОАИ вида Р3 (ПМ, реализующий эвристический алгоритмX Т{> в этой случае затрудняется процесс отладки ввиду сложности определения действительного источника ошибки.

Для разрешения указанной проблемы в работе предложен метод поиска источника ошибок, выявленных в ПМ ОАИ вида Р7. Метод основан на "многоязыковой" реализации эвристического алгоритма в основном и вспомогательном языках программирования и сравнительном анализе результатов исполнения реализаций. Метод поиска источника ошибки состоит из следующих этапов:

1. Определение исходных данных. Пусть исходный эвристический алгоритм задан спецификацией Ф((р,(с) и описанием О,. Пусть существует основная реализация эвристического алгоритма Рэ и ев спецификация Ф'(гр',у/'), а также вспомогательная реализация Р'=0, и её спецификация Ф'(д>' ) = Ф(<р,ц/), идентичные описанию и спецификации исходного алгоритма (вспомогательная реализация принимается за эталон).

2. Проверка корректности трансляции. Источником выявленной ошибки является неправильная трансляция алгоритма в основную реализацию, если выявлено несоответствие между спецификациями или между описанием и реализацией (Ф{<р,ц/) * Ф'(<р\ц/')) V (О, * Р,). Однако полное соответствие между алгоритмом и основной реализацией (Ф(<р,у/) = Ф'(<р',ц/')) л (03 = Л,) не позволяет сделать вывод об алгоритмической природе дефекта, так как могут существовать ошибки несоответствия спецификации и реализации «(р')Р}(.у/')) = / .

3.Проверка корректности алгоритма и реализации. Если отсутствуют дефекты трансляции исходного алгоритма в основную реализацию, то есть выполнено условие вида (Ф(<р,V)=Ф'(<р',у'))л.(03 =РЭ), и если результаты тестирования всех

реализаций алгоритма Р7,Р' отличаются хотя бы на одном тестовом случае, то источник ошибки - реализация, если же результаты тестирования Р„Р" идентичны для всего тестового набора, то принимается решение об алгоритмической природе ошибки. Степень надежности такого решения зависит от степени тестированности реализаций. Этап проверки корректности трансляции алгоритма в реализацию достаточно сложен и нетривиален. Поэтому метод поиска источника ошибки дополнен методикой проверки корректности трансляции алгоритма в реализацию, которая включает следующие шаги:

1. Определение семантического соответствия между спецификацией эвристического

?

алгоритм а и специф икацией основной реализации Ф(<р, у/)=Ф' {<р' ,у/').

1.1. Построение эквивалентной спецификации вида: Фж,(ч>м,\уэа') = Ф'(<р'У) -> Ф(<р,у).

1.2. Проверка семантического равенства всех термов и утверждений, входящих в спецификацию алгоритма и эквивалентную спецификацию:

9 7

Х_ТМИ Т 'Г Т А ТЭИ -ГЯЯ -АЭМ

м—Л '—•'п-Лп > 11 >—'1Ч •

1.3. Фиксация всех выявленных несоответствий и различий между Фж'(р™ и Ф(9>,у/).

1.4. Семантическое равенство термов 7] = = Т™ и отсутствие, зафиксированных на шаге 1.3, различий позволяет сделать вывод о

12

семантическом соответствии спецификаций Ф(<р,у/) = Ф'(1р',у/'). В случае наличия различий, решение о соответствии спецификаций и отсутствии ошибок трансляции принимается на следующем этапе.

2. Определение семантического соответствия между описанием эвристического

?

алгоритма и его основной программной реализацией Оэ=Рэ.

2.1. Построение эквивалентного описания О™ - Р> Оу в виде псевдокода или блок-схемы.

2.2. Проверка учитывает ли О'" различия, зафиксированные на шаге 1.3. Если О^*, и как следствие реализация Р}, построены с учетом различий зафиксированных между Ф,т (у™,ч/эк") и Ф{д>,ц/), то принимается решение о семантическом соответствии спецификаций Ф(<р,у/) = Ф'((р\у/'), иначе констатируется несоответствие спецификаций Ф(<р,у) * Ф'(<р',1//') и принимается решение о наличии ошибки трансляции.

2.3. Проверка семантического равенства эквивалентного и исходного описания

1

ОТ > путем прямого сопоставления полученного и исходного псевдокода или блок-схем.

2.4. Бели (О™ - 0,)л(Ф(д>,у/) = Ф'(<р',>//')), то принимается решение о корректности трансляции алгоритма в реализацию (Ф(д>,у) = Ф'(<р',у'))л(0, = Р1,), в противном случае констатируется несоответствие описания и реализации и принимается решение об ошибке трансляции.

Предложенный метод поиска источника ошибки, выявленной в ПМ ОАИ вида Р,, позволяет сократить трудоемкость отладки и уменьшить сроки разработки, а также повысить общее качество ПС ОАИ.

В третьей гпаве на основе классических методов Флойда и Хоара предложен способ верификации программ, позволяющий обосновывать корректность ПМ, содержащих подпрограммы, массивы и особые операторы, и соответственно повышать степень корректности ПО. Способ доказательства корректности включает следующие шаги:

1.К существующим операторам, используемым при построении блок-схемы алгоритма программы Р, добавляются операторы подпрограмм и особые операторы, производные от операторов присваивания и ветвления. Бели значение некоторого аргумента подпрограммы Р; вычисляется в момент вызова, то оператор подпрограммы подлежит упрощению.

2. Для доказательства частичной корректности программы Р, содержащей подпрограммы, необходимо предварительно доказать полную корректность всех подпрограмм - , где ф„у/, - предусловия и постусловия соответствующих подпрограмм. Доказательство корректности подпрограмм, также как и основной программы, следует проводить относительно расширенной спецификации вида Фрасш=(ч>ркт(у,У),у/расшЬ>,У)). Для каждого базового пути а, ведущего из точки сечения л в точку с и содержащего оператор подпрограммы Р,, составляются условия верификации вида

V», (/, (V) л Я$_А. (у)) => 1Л. (Т8_А (V)); 1А. (у) => <р, (V); <р, (у) (у));

¥, (у) => (V); л- (V) л Кл,_с (V)) => 1С (Тл^с (у)).

А',А" - точ ж сет они я жодного и выходного ребра опфагора подпрофаммы. Истинность постусловия ц/1 обеспечивается истинностью <р, и (ср^Р^ц/,).

3.Доказательство частичной корректности программы Я, содержащей массив М, заключается: для метода Флойда в доказательстве истинности условия

верификации /5(у)лЛа.(у)=>А'/т(Ги(у)), где а' - часть базою го пути из нгнапнчой

точж сетдаия 5 до опфагора /„, /„ - оператор в котором осуществляется доступ к

элементам массива М, К,^ (х) - утверждение, задающее принадлежность

индексов массиву М, х • вектор индексов или указателей; для метода Хоара в

доказательстве истинности условия у,, => К,т (х), где - постусловие

предшествующего оператора.

4. Доказательство завершаемости программы Р, содержащей особый оператор 10, заключается: для метода Флойда в выводе истинности условия завершаемости

(у) л Яа. (у) => (Та.. (у)), где ./, (у) - индуктивное утверждение, сопоставленное начальной точке сечения 5, а" - часть базового пути нгнапжой точж сеюшя 5 до опфаюра 10, 9>10{х) - предусловие оператора /а, задающее область определения функции, используемой в особом операторе; для метода Хоара в выводе истинности условия вида => д>1о (х).

В работе даны практические рекомендации к формированию спецификаций ПМ ОАИ, построению индуктивных утверждений Флойда, доказательству корректности методом Хоара, а также к доказательству завершаемости программ. Сформированные практические рекомендации позволяют повысить эффективность и ускорить процесс аналитической верификации ПС ОАИ.

Ввцду неразрешимости задачи верификации ПМ ОАИ вида Р3, в работе предлагается использовать методы верификации для доказательства конструктивной правильности {<р)Рэ(1у}' подобных ПМ ОАИ. Методика доказательства конструктивной правильности включает следующие шаги:

1.Верификация завершаемости ПМ ОАИ вида Р3. Как правило, доказательство завершаемости программ (<р)Рэ(1), реализующих эвристические алгоритмы анализа изображений, может быть проведено с помощью классических методов верификации ввиду того, что предусловия указанных ПМ, как правило, четко формализуемы.

2.Верификация правильности построения ПМ ОАИ вида Р,. Основная идея основывается на том факте, что большинство эвристических алгоритмов представим о комбинацией точных алгоритмов с четко формализуемыми спецификациями. Это позволяет применить существующие методы верификации для доказательства правильности алгоритмов, входящих в комбинацию (правильность конструирования всей комбинации), а соответственно проверить конструктивную правильность ПМ ОАИ, реализующего эвристический алгоритм.

2.1 Декомпозиция программы Рэ, имеющей спецификацию вида Ф(<р,у/) или

V/ °(/«г), на набор подпрограмм Р), реализующих точные алгоритмы и имеющих четко формализуемые спецификации Ф,(ф,,<//,).

2.2 Доказательство {<р, {у/,}.

2.3 Вывод о конструктивной правильности (<р)Рэ(у/)* ПМ ОАИ, на основе {<Р,}Р,{щ,} и завершаем ости всей программы Рэ.

Правильность функционирования ПМ ОАИ вида Я, с определенной степенью надежности разрешается методам и функционального тестирования.

Предложен способ тестирования завершаем ости циклических структур обработки массивов видеоданных и списков возможных решений, учитывающий специфику циклических структур (строго монотонные функции модификации итераторов, константное значение выхода из тела цикла, ограниченный набор операторов условия выхода из тела цикла). Способ включает следующие шаги:

1. Проверка на входе в цикл возможности достижения итератором значения выхода из цикла / = /„. Для составного условия необходимо проверить возможность достижения итератором всех соответствующих граничных значений. Первый шаг позволяет выявить ошибки несоответствия типов итератора и граничного значения в условии выхода из тела цикла.

2. Проверка внутри тела цикла изменения итератора на некоторую необязательно постоянную величину г\ = + Д, А # 0 приближающую итератор к окончанию цикла, где к-йп, ¡к_и1к -значения итератора на шагах jt.it-1. Подтверждением приближения итератора к значению выхода из цикла является истинность неравенства вида [»'„ — |<¡/„ — , где /„ -граничное значение в условии выхода

из тела цикла. Второй шаг предназначен для выявления ошибок некорректного изменения итератора цикла, способных повлечь за собой зацикливание или некорректную работу тестируемого метода.

3. Исполнение второго шага, в соответствии с одним из структурных критериев, для покрытия тех команд, ветвей или маршрутов внутри тела цикла, которые приводят к модификации итератора цикла.

Применение способа тестирования завершаем ости позволяет повысить качество создаваемых ПС ОАИ за счет увеличения значений степени корректности и показателя надежности.

В четвертой главе дана общая характеристика технического и программного обеспечения ОЭСИЖТ АЯвСБ, позволяющей повысить эффективность контроля и управления железнодорожными перевозками за счет автоматизации процесса идентификации объектов подвижного состава ЖТ. ПО АЯБСВ относится к классу ПС ОАИ, что регламентирует применение предложенных в работе методов и средств разработки и контроля качества ПС ОАИ.

На основе предложенного в работе метода формализованного описания создана унифицированная система формализованных спецификаций ПМ ОЭСИ 1С, позволившая снизить дефекты спецификации и автоматизировать функциональное тестирование ПМ AR.SC 18. В качестве примера, рассмотрим формализованную на основе предложенного метода спецификацию ПМ, осуществляющего локализацию областей, содержащих изображения РН ТС:

p: M^M^k^eN.

где Я(у) = (0 < л, <х2 <m)A(0<yi <у2 5дг2 -х, + 1<w2)a(A, £у2 -у, + \йИ2)

V, '■ (У^=Ежк{М))л(скк>\)-. | < кт) л (Vve , у', jr2' ,у'2)с С, Р( v.))

^J'l.J'i ^Уг

где Я,(v,,v,с,,,) = (v.(*,',у',х'2,у'2),у(дг,,у„х2,у2),сж,) =

Мп%т - кодно е и эображение(д^ мерный массив размерности пхт), к число областей; FKK - алгоритм локализации; У^ - список областей; v(xuyl,x2,y2) - элемент из Foe,, содержащий координаты локализованной области; wl,w2,hl,h2 -офжичдаияна иирину и высоту области; ЕМК - процедура выделения экспертом всех областей в кадре, содержащих изображения отдельных РН ТС; - список областей, формируемый экспертом, каждый элемент которого содержит изображение отдельного РН ТС; см - порог соотношения площадей; S - площадь локализованной области. Предикат Р задает геометрическую принадлежность области локализации к области кадра, а Р, принадлежность соответствующих областей и соотношения их площадей. Постусловие этапа локализации РН ТС трудно формализуемо, так как нет математического описания области изображения, содержащей графический образ РН. Задачей эксперта является формирование экспертного списка путем выделения на заданном кадре минимальных по площади областей, каждая из которых должна содержать изображение отдельного РН. При этом алгоритм локализации должен формировать такой список областей У0бл, чтобы изображение любого элемента из У^ включало в себя изображение

отдельного элемента из списка экспертных областей КД, и его площадь не превышала площади экспертно выделенной области более чем в слт раз.

В соответствии со стандартом IEEE 1016 построена объектно-ориентированная архитектура (UML, ОСЬ) ПО ARSCIS, отражающая статические и динамические аспекты поведения ПС ОЭСИ ЖТ (рис.2). Основным элементом ПО ARSCIS является ядро, выполняющее управляющие и координирующие действия, связанные с вычислительным процессом, а также осуществляющее многопоточную работу и поддержку режима реального времени. Основные этапы обработки и анализа изображений реализованы в алгоритмической подсистеме, функции сбора информации выполняются аппаратной подсистемой ARSCIS (рис.2-а). Взаимодействие алгоритмической подсистемы и ядра ПО ARSCIS осуществляется посредством диспетчера алгоритмов, выполняющего подключение алгоритмических модулей и управление вычислительным потоком.

На основе диаграммы параллельной кооперации (рис.2-б) и теории анализа последовательности событий даны рекомендации определения планируем ости и выведен ряд вспомогательных формул, учитывающих особенности смеси задач ПО ARSCIS, позволивших упростить процесс определения планируемости и совместно

с тестированием производительности подтвердить соответствие функционирования ПО АЯЗСШрежтоу реального времени.

Спроектированная архитектура AR.SC 18 может быть успешно применена для создания ПО ОЭСК различного назначения, а также позволяет: за счет унифицированных интерфейсов осуществлять подключения различных алгоритмов и дополнительного оборудования без модификации и перекомпиляции всего ПС; производить адаптивную настройку алгоритмической и аппаратной подсистем в ходе функционирования ПС; осуществлять сбор исторической информации, позволяющей повысить эффективность принятия решений в задачах обработки и анализа последовательности изображений.

Ллюрты — Зр*"'"г

---

Адпрюм!

«ип*

Рис. 2 Диаграммы а) классов алгоритмической и аппаратной подсистем, б) коопераций подсистем АЛвСВ.

Выбран профиль стандартов, подходы и средства, использованные при разработке ПО АЯЗСВ, позволившие достичь высокого качества процессов конструирования. Оценена сложность разработанного ПО АЯЗСК, в частности число строк кода ПО АЯЗСК (ШС метрика) на языке "С++" составляет 4,4104. Сформирована стратегия контроля качества, включающая процедуры ручного контроля, аналитической верификации и тестирования. Проведено модульное, интеграционное и системное тестирование ПО АЯЗСВ, позволившее выявить ряд критических ошибок и дефектов, проверить правильность функционирования ПМ АЯЗСШ вида Р,, а также оценить ряд важных показателей качества ПО ОЭСИЖТ. В целях автоматизации и повышения эффективности тестирования ПМ АЯЗСЙ

спроектированы и реализованы унифицированные тестовые классы, позволяющие формировать тестовые наборы значительной мощности.

На базе опытно-конструкторского образца ARSCIS, установленного на станции Череповец СЖД и функционирующего в режиме реального времени, а также лабораторного образца, моделирующего ситуацию ввода "живого видео" с помощью avi-файлов, проведены экспериментальные исследования позволившие оценить достигнутые значения показателей качества ПО ARSCIS. Опытно-конструкторский образец представлен черно-белой промышленной телекамерой (КРС 383С), устройством позиционирования объектов ЖТ (ЦПВ02, НЭП-51-П), ПЭВМ (iCeleron 2,4Пц, 256Мб ОЗУ) оборудованную платой видеозахвата (AveiMedia TV Capture ВТ878), осветителями и оптоволоконными телекоммуникационные соединениями. Лабораторный образец представлен ПЭВМ (iPentium3 800МГц, 384 Мб ОЗУ).

Достигнутые значения показателей качества, отражающие в соответствии со стандартом ISO 9126 качество ПО ARSCIS, соответствуют уровню, заданному в спецификации требований. В частности, предложенные методы и средства позволили повысить значения таких показателей качества, как: степень покрытия ПМ тестами 5^=73,8%, степень верификации ПМ, реализующих алгоритмы обработки и анализа изображений (библиотека повторно используемых компонентов "hnProc.lib") 5^=98,3%, наработка на отказ [180,1-15,1; 180,1+ 15,1] часа, относительное время работоспособного функционирования (коэффициент готовности) к^ = 99,95%.

На примере ПМ ARSCIS, реализующих алгоритмы обработки и анализа изображений, апробированы и продемонстрирована эффективность предложенных методов и средств контроля качества ПС ОАИ о чем свидетельствуют высокие достигнутые значения соответствующих показателей качества ПС.

В пятой главе оценена эффективность и влияние предложенных методов и средств разработки и контроля качества ПС ОАИ на соответствующие показатели процесса разработки и качества таких ПС ОАИ, как: ПО ARSCIS, ПО ReCar и ПО ОЭСК качества листового металлопроката (табл.1).

Так, например, метод формализованного описания трудно формализуемых спецификаций позволяет снизить трудоемкость функционального тестирования ПМ ОАИ; метод поиска источника ошибки снижает трудоемкость отладки ПМ ОАИ, реализующих эвристические алгоритмы; способ верификации позволяет повысить степени верификации и тестового покрытия ПС ОАИ; а способ тестирования завершаем ости повышает значение показателя наработки на отказ, что в свою очередь приводит к повышению коэффициента готовности (в частности, для ПО ARSCIS коэффициент готовности увеличивается на 0,03 % и составляет 99,95%).

Таблица 1

Оценка влияния предложенных методов и средств разработки и контроля качества

ПС ОАИ на соответствующие показатели процесса раз работки и качества ПП

р V'-* .¿У*. ПОот-шлекгронного

Трудоемкость функционального тестирования, чел.-часы 1 186,8 153,1 216,8

2 19,3 18,2 21.4

3 сокращение в 9,7 раза сокращение в 8,4 раза сокращение в 10,1 раза

Трудоемкость отладки, чел.-часы 1 165,6 148,3 185,6

2 132,6 127,2 139,7

3 сокращение в 1,25 раза сокращение в 1,17 раза сокращение в 1,33 раза

Степень верификации ПМ ОАИ, % 1 8,01

2 98,30

3 увеличение в 12,3 раза

Степень покрытия ПС ОАИ тестами, % 1 69,08 65,17 71,32

2 73,80 70,26 74,48

3 увеличение на 4,72% увеличение на 5,23% увеличение на 4,08%

Наработка на отказ при отсутствии рестарта, часы 1 123,6±16,7 131,8±15,8 192,7±16,9

2 180,1 ±15,1 149,4±14,6 226,3±15,3

3 увеличение в среднем на 56,5 часа увеличение в среднем на 17,6 часа увеличение в среднем па 33,6 часа

1 - было, 2 - стало, 3 — достигнутый эффект

Результаты проведённых исследований подтверждают преимущества разработанных методов и средств разработки и контроля качества ПС ОАИ по критериям трудоемкости тестирования и отладки, показателям корректности (степени верификации и покрытия тестами) и надежности (наработка на отказ и коэффициент готовности).

В заключении подводятся итоги работы, формулируются основные выводы. В приложениях приводятся примеры применения предложенных методов разработки и контроля качества ПО ОАИ, вспомогательные архитектурные диаграммы, а также данные, полученные в ходе экспериментальных исследований.

ВЫВОДЫ И РЕЗУЛЬТАТЫ

Предложены методы разработки и контроля качества ПС ОАИ, позволяющие повысить эффективность процессов разработки и контроля качества ПС ОАИ путем учета специфических особенностей решаемых, плохо формализуемых задач и используемого алгоритмического обеспечения различных этапов обработки и анализа изображений.

Основные выводы и результаты работы сводятся к следующему: 1. Предложен метод формализованного описания спецификаций алгоритмов и ПМ ОАИ, включающий способ описания трудно формализуемых понятий при помощи формируемого экспертом массива прецедентов. Метод позволяет снизить трудоемкость фазы тестирования ПС ОАИ за счет автоматизации процедур контроля качества. Разработан специализированный ПМ,

поддерживающий и автоматизирующий процесс формирования экспертом массива прецедентов значительной мощности.

2. На основе предложенного метода сформированы унифицированные системы формализованных спецификаций для основных ГТМ ОЭСИ ТС и ОЭСК качества поверхности листового металлопроката, которые могут быть широко использованы при разработке алгоритмического и программного обеспечения подобных систем технического зрения.

3. Предложен метод поиска источника ошибки в ПМ, реализующем эвристический алгоритм анализа изображений, позволяющий сделать процесс отладки более управляемым и сократить трудоемкость отладки.

4. На основе классических методов Флойда и Хоара предложен способ верификации программ, позволяющий обосновывать корректность программ, содержащих подпрограммы, массивы и особые операторы, и соответственно повысить степень корректности ПС ОАИ (степень верификации и тестового покрытия).

5. Предложен способ тестирования завершаем ости циклических структур обработки массивов видеоданных и списков возможных решений, учитывающий специфику циклов ПМ ОАИ, позволяющий повысить качество создаваемых ПС ОАИ за счет увеличения степени надежности (наработка на отказ).

6. Синтезирована модель жизненного цикла (ЖЦ) ПС ОАИ, учитывающая особенности подобных ПС. Даны практические рекомендации по выбору и применению методов и средств выполнения основных фаз жизненного цикла ПС ОАИ.

7. Предложена методика обоснования конструктивной правильности ПМ, реализующего эвристический алгоритм.

8. Применение предложенных в работе методов и средств разработки и контроля качества ПС ОАИ детально продемонстрировано на примере проекта по созданию ПО ОЭСИ объектов подвижного состава ЖТ - АЯЗСК. Даны практические рекомендации по формированию спецификаций качества и комплексной стратегии контроля качества, оценке сложности и достигнутого уровня качества созданного ПС и ему подобных. Разработан набор тестовых классов, упрощающих процесс тестирования ПО ОЭСИ ТС.

9. Разработана открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования ЦМЦ ПО ОЭСИ объектов подвижного состава ЖТ. Архитектура обеспечивает возможности: подключения обновленных и дополнительных алгоритмов и оборудования без модификации и перекомпиляции всего ПС; адаптивной настройки алгоритмической и аппаратной подсистем в ходе функционирования ПС; сбора исторической информации, позволяющей повысить эффективность принятия решений в задачах обработки и анализа последовательности изображений. Архитектура может быть широко использована при разработке ПО систем контроля с функциями обработки и анализа изображений различного назначения.

10. Предложенные в работе методы и средства разработки и контроля качества ПС ОАИ используются в научно-производственной компании "Малленом" (г. Череповец) в качестве базовых при организации процесса разработки ПО ОЭСК

различного назначения, что подтверждается актами о внедрении. При непосредственном участии автора на базе этой компании были созданы и внедрены следующие системы: ОЭСИ движущихся автотранспортных средств -ЯеСаг, ОЭСИ объектов подвижного состава ЖТ - АИвСБ, огттоэлектронный дефектоскоп листового металлопроката.

11. Результаты исследований используются в учебном процессе ИМИТСПбГПУ в рамках дисциплины "Обеспечение качества программных продуктов", в соответствующих разделах дисциплин "Технология разработки ПО" и "Компьютерная графика" для специальности 230105 - Программное обеспечение вычислительной техники и автоматизированных систем.

СПИСОК ОПУБЛИКОВАННЫХ РАБОТ

1. Балыков ЕА., Еремин С.Н., Малыгин ЛЛ., Михайлов А.Е, Царев В.А. Об использовании технологии обработки изображений в системах контроля движущихся транспортных средств // Информационные технологии в производственных, социальных и экономических процессах. Инфотех - 2001: Материалы Международной научно-технической конференции. - Череповец: ЧГУ, 2002, с. 160-163.

2. Балыков ЕА., Михайлов А.Е., Царев ВА. Использование нейронных сетей в задаче обнаружения и сопровождения движущихся транспортных средств по последовательности видеоизображений // Информационные технологии в производственных, социальных и экономических процессах. Инфотех - 2001: Материалы Международной научно-технической конференции. - Череповец: ЧГУ, 2002, с. 163-165.

3. Балыков ЕА., Михайлов А.Е, Царев В А. О решении задачи обнаружения и сопровождения движущихся транспортных средств при помощи нейросетей // Образование, наука, бизнес. Особенности регионального развития и интеграции: Сборник трудов Межвузовской научно-методической конференции. - Череповец: ЧФСПбГПУ, 2002, с. 48-52.

4. Балыков ЕА., Еремин СЛ., Малыгин ЛЛ. Михайлов А.Е, Царев ВА. Аппаратно-программный комплекс «ЯеСаг» // Образование, наука, бизнес. Особенности регионального развития и интеграции: Сборник трудов Межвузовской научно-методической конференции. - Череповец: ЧФ СПбГТУ, 2002, с. 62-66.

5. Балыков ЕА., Царев В А.. О задаче построения множества опорных кадров в системе идентификации объектов железнодорожного транспорта // Образование, наука, бизнес. Особенности регионального развития и интеграции: Сборник трудов Межвузовской научно-методической конференции. -Череповец: ИМИТСПбГПУ, 2003, с. 228-231.

6. Балыков ЕА., Царев В.А. Тест-ориентированное прог рам м ирова ние // Материалы XXXII военно-научной конференции молодых специалистов института-Череповец: ЧВИИРЭ, 2004, с. 78- 79.

7. Балыков ЕА., Царев В А. Программное обеспечение системы идентификации объектов подвижного состава железнодорожного транспорта // Технологии МкпкоИ в теории и практике программирования: Материалы межвузовского конкурса - конференции студентов и молодых ученых Северо-Запада. — Санкт-Петербург :СП6ГПУ, 2004, с. 68-70.

8. Балыков ЕА. Виды, способы и примеры тестирования прикладного программного обеспечения // Образование, наука, бизнес: особенности регионального развития и интеграции: сборник трудов Всероссийской научно-методической конференции. - Череповец: ИМИТСПбГПУ, 2004, с. 240-245.

9. Балыков ЕА., Царев ВА. Особенности разработки и тестирования программного обеспечения оптико-электронных систем идентификации движущихся транспортных средств // Оптические, радиоволновые и тепловые методы и средства контроля качества материалов, промышленных изделий и окружающей среды. Труды IX международной научно-технической конференции. - Ульяновск: Изд. УлГТУ, 2004, с. 132-137.

10. Балыков ЕА. Царев В.А. Верификация программных модулей обработки и анализа изображений при разработке оптико-электронных систем идентификации движущихся транспортных средств // Технологии Microsoft в теории и практике программирования: Материалы межвузовского конкурса -конференции студентов и молодых ученых Северо-Запада. - Санкт-Петербург: СПбПТУ, 2005, с. 152-153.

11. Балыков ЕА., Царев В А. Решение проблемы построения трудно формализуемых спецификаций на основе экспертных оценок // Технологии Microsoft в теории и практике программирования: Материалы межвузовского конкурса - конференции студентов и молодых ученых Северо-Запада. - Санкт-Петербург :СП6ГПУ, 2005, с. 153-154.

12. Балыков ЕА. Особенности поиска источника ошибки в программе, реализующей эвристический алгоритм // Образование, наука, бизнес. Особенности регионального развития и интеграции: Сборник трудов Всероссийской научно-практической конференции. - Череповец: ИМ ИТ СПбГПУ, 2005, с. 238-242.

13. Балыков ЕА., Кузьмина СА. Электронное учебно-методическое пособие по дисциплине "Компьютерная графика"-М.:ВНТИЦ, 2005. -№50200501627.

14. Балыков ЕА., Михайлов А.Е, Царев ВА. Оптико-электронные системы идентификации движущихся транспортных средств: назначение, состав, особенности проектирования и программной реализации //Научно-технические ведомости СПбГПУ, №3,2005, с. 40-48.

15. Balykov Е, Tsaiev V. Software quality assurance of vehicle optoelectronic identification systems // 7th International Conference on Pattern Recognition and Image Analysis: New Information Technologies (PRIA-7-2004). St. Peteisbuig, t October 18-23, 2004. Conference Proceedings (Vol.I-III), Volume П., St. Peteisburg, SPbETU, 2004. pp. 422 - 425.

16. Balykov E, Goibachev A., Mikhailov A., Tsaiev V., Vesnin E Automated rolling stock car identification system // 7th International Conference on Pattern Recognition and Image Analysis: New Information Technologies (PRIA-7-2004). St. Peteisbuig, October 18-23,2004. Conference Proceedings (Vol.I-III), Volume П1., St. Peteisbuig, SPbETU, 2004. pp. 1008 - 1009.

17. EABalykov, VA.Tsarev. Software quality assurance for optoelectronic identification systems // Pattern recognition and image analysis, Vol.15, No.2, 2005. pp.355-357.

Подписано в печать 10.03.2006 г. Формат 60x84/16. Печать офсетная. Печ.л. 1,5. Тираж 100. Заказ 26.

Отпечатано с готового оригинал-макета, предоставленного автором, в типографии ЧВИИРЭ, 162622, г. Череповец, Советский проспект, 126.

2,006 ft

-52 94

Оглавление автор диссертации — кандидата технических наук Балыков, Евгений Александрович

Введение.

Глава 1. Анализ современного состояния проблемы разработки и контроля качества ПС ОАИ.

1.1. Общая характеристика ПС ОАИ.

1.1.1. Назначение и область применения ПС ОАИ.

1.1.2. Особенности математического обеспечения, используемого при разработке ПС ОАИ.

1.2. Особенности процесса разработки и контроля качества ПС ОАИ.

1.3. Общие подходы к разработке и контролю качества программных средств.

1.3.1. Обеспечение качества процессов контсруирования ПС.

1.3.2. Контроль качества ПС.

1.4. Постановка задачи повышения эффективности процессов разработки и контроля качества ПС ОАИ.

Выводы по главе 1.

Глава 2. Методы и средства разработки ПС ОАИ.

2.1. Модель ЖЦ ПС ОАИ.

2.2. Методы и средства организации ЖЦ ПС ОАИ.

2.2.1. Метод и средства формализации спецификаций ПС ОАИ.

2.2.2. Методы и средства архитектурного проектирования и реализации ПС ОАИ.

2.3. Метод формализованного описания спецификаций ПМ ОАИ.

2.4. Метод поиска источника ошибки, выявленной в ПМ, реализующем эвристический алгоритм анализа изображений.

Выводы по главе 2.

Глава 3. Методы и средства контроля качества ПС ОАИ.

3.1. Способ верификации программ, содержащих подпрограммы, массивы и особые операторы.

3.1.1. Обобщение метода Флойда.

3.1.1.1. Верификация ПМ, содержащих подпрограммы.

3.1.1.2. Верификация ПМ, содержащих массивы.

3.1.1.3. Верификация ПМ, содержащих особые операторы.

3.1.2. Обобщение метода Хоара.

3.1.2.1. Верификация ПМ, содержащих подпрограммы.

3.1.2.2. Верификация ПМ, содержащих массивы.

3.1.2.3. Верификация ПМ, содержащих особые операторы.

Введение 2006 год, диссертация по информатике, вычислительной технике и управлению, Балыков, Евгений Александрович

В настоящее время одним из перспективных направлений развития информационных технологий в таких областях человеческой деятельности, как промышленное производство, транспортные перевозки, медицина, охранное наблюдение и т.п. является создание средств информационной поддержки в составе автоматизированных систем контроля и управления. Указанные системы включают в себя как телекоммуникации, так и подсистемы сбора, обработки и анализа данных. При этом в качестве входного потока информации (или его части) широко используются изображения, т.е. данные, полученные с помощью приборного наблюдения (в основном, сканирования и фотографирования в различных диапазонах частот) соответствующих объектов или сцен.

Благодаря появлению в последние годы достаточно мощных и доступных средств вычислительной техники в большинстве приложений стало возможно выполнять обработку и анализ входных изображений на базе ПЭВМ при помощи специально создаваемых программных средств (ПС). Основными этапами представления, обработки и анализа информативных сигналов, которые в совокупности или в отдельных сочетаниях могут выполняться ПС обработки и анализа изображений (ОАИ), являются следующие: фильтрация, сегментация, классификация изображения и его фрагментов, распознавание графических образов. Методы и алгоритмы, которые могут быть использованы при разработке математического обеспечения указанных этапов, широко представлены в научно-технической литературе.

Наиболее важная особенность задач обработки и анализа изображений заключается в том, что большинство из них являются плохо формализуемыми. Сказывается отсутствие адекватных математических моделей наблюдаемых реальных ситуаций или объектов, па базе которых можно было бы вести расчеты и получать количественные и качественные выводы, а также разрабатывать соответствующее программное обеспечение (ПО). В то же время практически любой человек в реальной жизни постоянно и успешно решает такие задачи и может выступать экспертом как при подготовке обучающего и тестового материала, так и при оценке эффективности алгоритмов, реализуемых ПС ОАИ.

Указанная особенность, накладывая ограничения в рамках общей проблемы синтеза и оптимизации алгоритмов обработки и анализа изображений, обуславливает также возникновение ряда вопросов и задач, решение которых необходимо для организации эффективных процессов разработки, обеспечения и контроля качества ПС ОАИ, реализующих такие алгоритмы. Так при разработке и автоматизации контроля качества ПС ОАИ, оперирующих трудно формализуемыми понятиями, требует решения задача адекватного описания спецификаций. Широкое использование эвристических алгоритмов при создании ПС ОАИ затрудняет выполнение процессов контроля качества таких ПС, в первую очередь, тестирования и отладки. Кроме того, наличие в коде ПС ОАИ большого количества массивов, циклов и операторов, которые могут не завершиться и привести к исключительной ситуации или аварийному сбою (особые операторы), обуславливает необходимость использования специализированных способов и методик верификации, тестирования и отладки ПС.

Исследование теоретических и практических аспектов разработки и контроля качества ПС отражено в трудах В.Н.Агафонова, А.П.Ершова, С.С.Лаврова, В.В.Липаева, В.А.Непомнящего, С.А. Орлова, Р.Андерсона, Б.Боэма, Г.Буча, Э.Дейкстры, Г.Майерса, Р.Флойда, Ч.Хоара и др. Однако применение предложенных в этих трудах методов разработки и контроля качества ПО на практике при создании ПС ОАИ сталкивается со значительными трудностями. Как правило, с учетом указанных особенностей известные методы не гарантируют высокую эффективность процессов разработки высококачественных ПС ОАИ по таким критериям, как трудоемкость тестирования и отладки, достигнутые значения показателей корректности и надежности ПС (степени верификации, тестового покрытия, наработки на отказ). В конечном итоге это приводит к увеличению сроков разработки информационных систем с функциями обработки и анализа изображений и не позволяет обеспечить требуемые показатели качества ПО таких систем.

Таким образом, рассматриваемая в работе проблема повышения эффективности процессов разработки и контроля качества ПС ОАИ является весьма актуальной и обусловлена непригодностью или низкой эффективностью известных методов и средств разработки и контроля качества ПО с учетом специфики решаемых, плохо формализуемых задач и используемых алгоритмов обработки и анализа изображений.

Целью диссертационной работы является совершенствование известных и создание специализированных методов и средств, позволяющих повысить эффективность процессов разработки и контроля качества ПС ОАИ с учетом специфических особенностей решаемых, плохо формализуемых задач и используемого алгоритмического обеспечения различных этапов обработки и анализа изображений.

Для достижения указанной цели в работе поставлены следующие основные задачи:

- адаптировать известные и создать специализированные методы и средства разработки и контроля качества ПО, применяемые на этапах подготовки спецификаций, программной реализации, верификации, тестирования и отладки ПС ОАИ, учитывающие специфические особенности области приложения и позволяющие повысить эффективность процессов разработки и контроля качества ПС ОАИ;

- апробировать и продемонстрировать применение предложенных методов и инструментальных средств в процессе разработки ПО системы технического зрения, на примере оптоэлектронной системы идентификации (ОЭСИ) объектов подвижного состава железнодорожного транспорта (ЖТ);

- оценить влияние предложенных методов и средств на эффективность процессов разработки и контроля качества ПС ОАИ по критериям: трудоемкости тестирования и отладки, достигнутым значениям показателей корректности и надежности ПС (степени верификации, тестового покрытия, наработки на отказ).

Для решения поставленных задач использованы теоретические основы технологии разработки ПО, методы проектирования и анализа алгоритмов, теория верификации, тестирования и отладки программ, математический аппарат технологии обработки и анализа изображений, теория планирования в реальном времени и анализа последовательности событий, а также методы планирования научного эксперимента и обработки результатов экспериментальных исследований.

Научная новизна результатов работы состоит в следующем: 1. Предложен метод формализованного описания спецификаций алгоритмов и программных модулей (ПМ) ОАИ, включающий способ описания трудно формализуемых понятий при помощи формируемого экспертом массива "прецедентов", т.е. соответствующих пар вида "входная информация - выходная информация". Метод позволяет сформировать единые требования для этапов разработки и программной реализации алгоритмов решения плохо формализуемых задач обработки и анализа изображений при создании ПС ОАИ, а также существенно снизить трудоемкость фазы тестирования таких ПС за счет автоматизации процедур контроля качества.

2. Предложен метод поиска источника ошибки, выявленной на этапе тестирования в ПМ, реализующем эвристический алгоритм анализа изображений, основанный на "многоязыковой" реализации алгоритма, характерной при разработке ПС ОАИ, и сравнительном анализе результатов исполнения основной и вспомогательной программных реализаций алгоритма. Применение предложенного метода позволяет сделать процесс отладки таких ПМ более управляемым и сократить трудоемкость процедур отладки.

3. На основе классических методов Флойда и Хоара предложен способ верификации программ, позволяющий обосновывать корректность ПМ, содержащих подпрограммы, массивы и особые операторы, и соответственно повышать степень корректности ПС (степень верификации и тестового покрытия).

4. Предложен способ тестирования завершаемости циклических структур обработки массивов видеоданных и списков возможных решений, учитывающий специфику циклов ПМ ОАИ, позволяющий повысить качество создаваемых ПС ОАИ за счет увеличения степени надежности.

Практическая ценность работы заключается в следующем:

1. Синтезирована модель жизненного цикла (ЖЦ) ПС ОАИ, учитывающая особенности подобных программных средств. Даны практические рекомендации по выбору и применению методов и средств выполнения основных фаз жизненного цикла ПС ОАИ: подготовки спецификаций, программной реализации, верификации, тестирования и отладки.

2. Предложена методика обоснования конструктивной правильности ПМ, реализующего эвристический алгоритм.

3. Сформированы унифицированные системы формализованных спецификаций для основных ПМ ОЭСИ транспортных средств (ТС) и оптико-электронной системы контроля (ОЭСК) качества поверхности листового металлопроката, которые могут быть широко использованы при разработке алгоритмического и программного обеспечения подобных систем технического зрения.

4. Применение предложенных в работе методов и средств разработки и контроля качества ПС ОАИ детально продемонстрировано на примере проекта по созданию ПО ОЭСИ объектов подвижного состава ЖТ - ARSCIS. Даны практические рекомендации по формированию спецификаций качества и комплексной стратегии контроля качества, оценке сложности и достигнутого уровня качества созданного

ПС и ему подобных. Разработан набор тестовых классов, упрощающих процесс тестирования ПО ОЭСИ ТС.

5. Разработана открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования UML) ПО ОЭСИ объектов подвижного состава ЖТ. Архитектура обеспечивает возможности: подключения обновленных и дополнительных алгоритмов и оборудования без модификации и перекомпиляции всего ПС; адаптивной настройки алгоритмической и аппаратной подсистем в ходе функционирования ПС; сбора исторической информации, позволяющей повысить эффективность принятия решений в задачах обработки и анализа последовательности изображений. Архитектура может быть широко использована при разработке ПО систем контроля с функциями обработки и анализа изображений различного назначения.

6. Предложенные в работе методы и средства разработки и контроля качества ПС ОАИ используются в научно-производственной компании "Малленом" (г. Череповец) в качестве базовых при организации процесса разработки ПО ОЭСК различного назначения, что подтверждается актами о внедрении. При непосредственном участии автора на базе этой компании были созданы и внедрены следующие системы: ОЭСИ движущихся автотранспортных средств -ReCar (разработка выполнялась по заказу мэрии г. Череповца); ОЭСИ объектов подвижного состава ЖТ - ARSCIS (разработка выполнялась по заказу администрации ст. Череповец СЖД); оптоэлектронный дефектоскоп листового металлопроката (разработка выполнялась по заказу ОАО "Северсталь"). Указанные системы в 2005 г. удостоены дипломов I и II степеней Правительств г. Санкт-Петербурга и Вологодской области по итогам открытых конкурсов на лучшие инновационные научно-технические разработки и проекты.

7. Результаты исследований используются в учебном процессе ИМИТ СПбГПУ в рамках дисциплины "Обеспечение качества программных продуктов", в соответствующих разделах дисциплин "Технология разработки ПО" и "Компьютерная графика" для специальности 230105 - Программное обеспечение вычислительной техники и автоматизированных систем.

Основные положения диссертации докладывались и обсуждались на 13 научно-технических конференциях, выставках и конкурсах, по материалам диссертации опубликованы 17 печатных работ.

В структурном отношении работа состоит из введения, пяти глав, заключения, списка литературы и приложений.

В первой главе дается общая характеристика ПС ОАИ, как средств информационной поддержки в составе автоматизированных систем контроля и управления. Дана общая характеристика математического и программного обеспечения ПС ОАИ, применяемых в промышленном производстве, медицине, на транспорте и в охранной деятельности. Выявлены характерные особенности предметной области и ПС ОАИ, обуславливающие недостаточную эффективность процессов разработки и контроля качества подобных ПС. Среди указанных особенностей основными являются: существование трудно формализуемых спецификаций ПМ ОАИ; использование эвристических алгоритмов на этапах анализа данных; широкое применение разнообразных циклических структур, подпрограмм, особых операторов и массивов. Проведен анализ существующих систем и моделей обеспечения качества ПС, который показал, что такие системы и модели носят, в основном, организационный характер и применимы лишь на уровне менеджмента качества ПО. А применение конкретных методов разработки и контроля качества на практике при создании ПС ОАИ сталкивается со значительными трудностями, обусловленными специфическими особенностями области приложений. Обоснована актуальность проблемы повышения эффективности процесса разработки и контроля качества ПС ОАИ. Определена цель диссертационной работы, заключающаяся в совершенствовании известных и создании специализированных методов и средств, позволяющих повысить эффективность процессов разработки и контроля качества ПС ОАИ с учетом специфических особенностей решаемых, плохо формализуемых задач и используемого алгоритмического обеспечения различных этапов обработки и анализа изображений.

Во второй главе синтезирована модель ЖЦ ПС ОАИ, выбраны методы и средства, используемые на соответствующих фазах ЖЦ ПС ОАИ, учитывающие особенности разработки ПС ОАИ и гарантирующие высокое качество конструирования ПС ОАИ. На базе языков UML и ОСЬ предложен принцип объединения фаз формализации спецификации требований и проектирования архитектуры ПС ОАИ, позволяющий ускорить процесс конструирования и сократить число дефектов, связанных с переходом "спецификация -> формальная спецификация -> архитектура". Предложен метод формализованного описания спецификаций алгоритмов обработки и анализа изображений, включающий способ описания трудно формализуемых понятий при помощи формируемого экспертом массива прецедентов. Предложенный метод позволяет создавать системы формализованных спецификаций для широкого спектра ПС ОАИ и, соответственно, сократить дефекты неполноты, противоречивости и неоднозначности требований, а также автоматизировать процедуры контроля качества ПМ ОАИ. Процесс формирования экспертом массива прецедентов автоматизирован с помощью специализированного программного инструментария, позволяющего генерировать тестовые наборы значительной мощности. Предложен метод поиска источника ошибки в ПМ ОАИ, реализующих эвристические алгоритмы обработки и анализа изображений, учитывающий специфику ЖЦ ПС ОАИ и основанный на "многоязыковой" реализации алгоритмов и сравнительном анализе результатов их исполнения. Метод поиска источника ошибки позволяет сократить трудоемкость процесса отладки ПС ОАИ, реализующих эвристические алгоритмы анализа изображений.

В третьей главе на базе классических методов Флойда и Хоара предложен способ верификации программ, позволяющий обосновывать корректность ПМ (в том числе большинства ПМ ОАИ), содержащих подпрограммы, массивы и особые операторы и, соответственно, повышать степень корректности ПС (степени верификации и тестового покрытия). Сформированы практические рекомендации, учитывающие специфику реализации ПС ОАИ и повышающие эффективность механизма аналитической верификации ПМ ОАИ. Предложенные правила и рекомендации позволяют формировать корректные и непротиворечивые спецификации ПМ ОАИ; формировать необходимые и достаточные индуктивные утверждения Флойда и тройки Хоара для основных типов операторов, используемых в рамках ПС ОАИ; выбирать наиболее подходящие фундированные множества и ограничивающие функции для доказательства завершаемости ПМ ОАИ. Предложена методика подтверждения конструктивной правильности {(р)Р0(у/У ПМ ОАИ, реализующих эвристический алгоритм. Методика основана на декомпозиции исходного эвристического алгоритма в виде комбинации точных алгоритмов с четко формализуемыми спецификациями и позволяет использовать методы верификации для доказательства правильности построения и завершаемости ПМ ОАИ вида Рэ. Предложен способ тестирования завершаемости циклических структур обработки массивов видеоданных и списков возможных решений, учитывающий специфику циклов ПМ ОАИ, позволяющий повысить качество создаваемых ПС ОАИ за счет увеличения степени надежности.

В четвёртой главе дано общее описание ОЭСИ объектов подвижного состава ЖТ -ARSCIS. Отмечено, что ARSCIS обладает всеми характерными чертами и отличительными особенностями информационной системы, создаваемой на базе технологии обработки и анализа изображений, базовую основу ПО которой составляет ПС ОАИ, выполняющее процесс идентификации железнодорожных вагонов, цистерн, платформ и т.п. путем распознавания их уникального регистрационного номера (РН). На основе предложенного в работе метода формализованного описания спецификаций построена унифицированная система формализованных спецификаций основных этапов процесса оптоэлектронной идентификации ТС. Созданная система формализованных спецификаций использована в процессе разработки ПО ARSCIS, что позволило сократить дефекты неполноты, неоднозначности и противоречивости требований, разработать эффективные алгоритмы и ПС ОАИ, используемые в процессе идентификации. В целях автоматизации процесса контроля качества ПО ARSCIS на базе предложенной системы спецификаций разработан ПМ, автоматизирующий процесс формирования массивов прецедентов значительной мощности. Разработана открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования UML) ПО ОЭСИ объектов подвижного состава ЖТ. Архитектура обеспечивает возможности подключения обновленных и дополнительных алгоритмов и оборудования без модификации и перекомпиляции всего ПС; адаптивной настройки алгоритмической и аппаратной подсистем в ходе функционирования ПС; сбора исторической информации, позволяющей повысить эффективность принятия решений в задачах обработки и анализа последовательности изображений. Архитектура может быть широко использована при разработке ПО систем контроля с функциями обработки и анализа изображений различного назначения. В соответствии с предложенными методами и средствами разработки и обеспечения качества ПС ОАИ создано ПО системы ARSCIS. Указаны стандарты, подходы и средства, применяемые в процессе построения ПО ARSCIS, позволившие достичь высокого качества процессов конструирования ПО. Оценена сложность полученного ПО ARSCIS. Выбраны процедуры контроля качества, позволившие обнаружить ряд критических ошибок и повысить качество ПМ ARSCIS. Реализован набор тестовых классов, автоматизирующих процесс тестирования ПО ОЭСИ ТС. С помощью теории анализа последовательности событий и на основе результатов тестирования производительности подтверждено соответствие функционирования ПО ARSCIS режиму реального времени. Оценён достигнутый уровень качества ПО ARSCIS. Приведены результаты экспериментальных исследований, подтверждающие высокий достигнутый уровень качественных и количественных показателей качества ПО ARSCIS, соответствующий уровню, заданному в спецификации.

В пятой главе предложены методики оценки влияния разработанных методов и средств на эффективность процессов конструирования и контроля качества ПМ ОАИ, позволившие проверить и в итоге подтвердить преимущества предложенных методов и средств. Приведены результаты экспериментальных исследований по оценке влияния предложенных методов и средств на эффективность процессов разработки и контроля качества ПС ОАИ на примере проекта по разработке ОЭСИ ARSCIS. Результаты эксперимента позволяют сделать вывод о повышении эффективности процессов разработки и контроля качества ПС ОАИ по критериям трудоемкости тестирования и отладки, показателю корректности (степени верификации и покрытия тестами) и показателю надежности (наработка на отказ и коэффициент готовности). Приведены также результаты успешного применения предложенных решений в процессе разработки и контроля качества таких ПС ОАИ, как: ПО автоматизированной системы распознавания государственных регистрационных знаков автомашин и ПО ОЭСК качества листового металлопроката, подтверждающие их преимущества.

В приложениях представлены:

1. Краткое описание классических методов аналитической верификации программ и схема получения расширенной спецификации.

2. Классификация базовых характеристик качества ПС в соответствии со стандартом ISO 9126.

3. Пример поиска источника ошибки, выявленной в ПМ ОЭСИ ЖТ, реализующем эвристический алгоритм.

4. Примеры верификации ПМ ОЭСИ ЖТ с помощью предложенного способа доказательства корректности программ, базирующегося на методах Флойда и Хоара.

5. Пример верификации ПМ ОЭСИ ЖТ, реализующего эвристический алгоритм.

6. Пример тестирования завершаемое™ циклических структур, используемых в ПМ ОАИ.

7. Блок-схема алгоритма функционирования алгоритмической подсистемы ОЭСИ ТС.

8. Статическая модель ПО ARSCIS.

9. Динамическая модель ПО ARSCIS.

10. Алгоритмы определения планируемости смеси задач ПС в соответствии с теориями планирования в реальном времени и анализа последовательности событий.

11. Исходные данные, используемые в процессе оценки сложности проекта ARSCIS.

12. Диаграмма классов, используемых для тестирования ПО ОЭСИ ТС в соответствии со структурными критериями.

13. Схема нисходящего интеграционного тестирования ПМ ARSCIS.

14. Фрагмент спецификации требований к ПО ОЭСИ объектов подвижного состава ЖТ.

15. Определение требования на пропускную способность ПО ОЭСИ объектов подвижного состава ЖТ.

16.Показатели практичности, сопровождаемости и мобильности ПО ARSCIS.

17.Акты о внедрении предложенных методов разработки и контроля качества в производственный и учебный процессы.

18. Дипломы Правительств г. Санкт-Петербурга и Вологодской области за разработку оптико-электронных систем контроля.

На защиту выносятся следующие положения:

1. Метод формализованного описания спецификаций алгоритмов и ПМ ОАИ, оперирующих трудно формализуемыми понятиями, и унифицированная система формализованных спецификаций основных этапов функционирования ПО ОЭСИ ТС, созданная на базе предложенного метода.

2. Метод поиска источника ошибки в ПМ ОЭСК, реализующих эвристические алгоритмы обработки и анализа изображений.

3. Способ верификации программ, позволяющий обосновывать корректность ПМ, содержащих подпрограммы, массивы и особые операторы.

4. Способ тестирования завершаемости циклических структур, содержащихся в ПС ОАИ.

5. Открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования UML) ПО ОЭСИ объектов подвижного состава ЖТ.

Заключение диссертация на тему "Методы разработки и контроля качества программных средств обработки и анализа изображений"

ВЫВОДЫ ПО ГЛАВЕ 5

1) Рассмотрены проекты по созданию информационных систем с функциями обработки и анализа изображений, в ходе которых оценивалось эффективность разработанных методов и средств и их влияние на соответствующие показатели процессов разработки и контроля качества ПС ОАИ.

2) Проведены экспериментальные исследования по оценке влияния предложенных методов и средств на эффективность процессов разработки и контроля качества ПС ОАИ. Приведены результаты исследований, подтверждающие преимущества разработанных методов и средств разработки и контроля качества ПС ОАИ по критериям трудоемкости тестирования и отладки, показателю корректности степени верификации и покрытия тестами) и показателю надежности (наработка на отказ и коэффициент готовности). 3) Рассмотрены перспективы и пути развития методов разработки и контроля качества ПС ОАИ в теоретическом и практических аспектах.

149

ЗАКЛЮЧЕНИЕ

В рамках диссертационной работы предложены методы разработки и контроля качества ПС ОАИ, позволяющие повысить эффективность процессов разработки и контроля качества ПС ОАИ путем учета специфических особенностей решаемых, плохо формализуемых задач и используемого алгоритмического обеспечения различных этапов обработки и анализа изображений. Основные выводы и результаты работы сводятся к следующему:

1. Предложен метод формализованного описания спецификаций алгоритмов и ПМ ОАИ, включающий способ описания трудно формализуемых понятий при помощи формируемого экспертом массива прецедентов. Метод позволяет снизить трудоемкость фазы тестирования ПС ОАИ за счет автоматизации процедур контроля качества. Разработан специализированный ПМ, поддерживающий и автоматизирующий процесс формирования экспертом массива прецедентов значительной мощности.

2. На основе предложенного метода сформированы унифицированные системы формализованных спецификаций для основных ПМ ОЭСИ ТС и ОЭСК качества поверхности листового металлопроката, которые могут быть широко использованы при разработке алгоритмического и программного обеспечения подобных систем технического зрения.

3. Предложен метод поиска источника ошибки в ПМ, реализующем эвристический алгоритм анализа изображений, позволяющий сделать процесс отладки более управляемым и сократить трудоемкость отладки.

4. На основе классических методов Флойда и Хоара предложен способ верификации программ, позволяющий обосновывать корректность программ, содержащих подпрограммы, массивы и особые операторы, и соответственно повысить степень корректности ПС ОАИ (степень верификации и тестового покрытия).

5. Предложен способ тестирования завершаемости циклических структур обработки массивов видеоданных и списков возможных решений, учитывающий специфику циклов ПМ ОАИ, позволяющий повысить качество создаваемых ПС ОАИ за счет увеличения степени надежности (наработка на отказ).

6. Синтезирована модель жизненного цикла (ЖЦ) ПС ОАИ, учитывающая особенности подобных ПС. Даны практические рекомендации по выбору и применению методов и средств выполнения основных фаз жизненного цикла ПС ОАИ.

7. Предложена методика обоснования конструктивной правильности ПМ, реализующего эвристический алгоритм.

8. Применение предложенных в работе методов и средств разработки и контроля качества ПС ОАИ детально продемонстрировано на примере проекта по созданию ПО ОЭСИ объектов подвижного состава ЖТ - ARSCIS. Даны практические рекомендации по формированию спецификаций качества и комплексной стратегии контроля качества, оценке сложности и достигнутого уровня качества созданного ПС и ему подобных. Разработан набор тестовых классов, упрощающих процесс тестирования ПО ОЭСИ ТС.

9. Разработана открытая объектно-ориентированная архитектура (графическая модель, представленная средствами языка моделирования UML) ПО ОЭСИ объектов подвижного состава ЖТ. Архитектура обеспечивает возможности: подключения обновленных и дополнительных алгоритмов и оборудования без модификации и перекомпиляции всего ПС; адаптивной настройки алгоритмической и аппаратной подсистем в ходе функционирования ПС; сбора исторической информации, позволяющей повысить эффективность принятия решений в задачах обработки и анализа последовательности изображений. Архитектура может быть широко использована при разработке ПО систем контроля с функциями обработки и анализа изображений различного назначения.

10. Предложенные в работе методы и средства разработки и контроля качества ПС ОАИ используются в научно-производственной компании "Малленом" (г. Череповец) в качестве базовых при организации процесса разработки ПО ОЭСК различного назначения, что подтверждается актами о внедрении. При непосредственном участии автора на базе этой компании были созданы и внедрены следующие системы: ОЭСИ движущихся автотранспортных средств -ReCar, ОЭСИ объектов подвижного состава ЖТ - ARSCIS, оптоэлектронный дефектоскоп листового металлопроката.

11. Результаты исследований используются в учебном процессе ИМИТ СПбГПУ в рамках дисциплины "Обеспечение качества программных продуктов", в соответствующих разделах дисциплин "Технология разработки ПО" и "Компьютерная графика" для специальности 230105 - Программное обеспечение вычислительной техники и автоматизированных систем.

Библиография Балыков, Евгений Александрович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Агафонов В.Н. Языки и средства спецификации программ // Требования и спецификации в разработке программ. М.: Мир, 1984. - 285 с.

2. Аллен Э. Типичные ошибки проектирования. Библиотека программиста: Пер. с англ. СПб.: Питер, 2003. - 224 с.

3. Андерсон Р. Доказательство правильности программ: Пер. с англ. М.: Мир, 1982. - 168 с.

4. Б. Страуструп. Язык программирования С++, спец.изд. / Пер. с англ. М.: БИНОМ, 2001.- 1099 с.

5. Балыков Е.А., Михайлов А.Е., Царёв В.А. Оптико-электронные системы идентификации движущихся транспортных средств: назначение, состав, особенности проектирования и программной реализации // Научно-технические ведомости СПбГПУ, №3, 2005. с. 40-48.

6. Бек К. Экстремальное программирование. СПб.: Питер, 2002. 224 с.

7. Благодатских В.А. Стандартизация разработки программных средств. М.: Финансы и статистика, 2003. - 288 с.

8. Брауде Э. Технология разработки программного обеспечения. СПб.: Питер, 2004. -655 с.

9. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд./ Пер. с англ.- М.: Бином, 1999 г. 560 с.

10. Буч. Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя: Пер. с англ. М.: ДМК, 2000. - 432 с.

11. Ван Тассел Д. Стиль, разработка, эффективность, отладка и испытание программ. -М.: Мир, 1981.-320 с.

12. Вендров A.M. CASE технологии. Современные методы и средства проектирования информационных систем. -М.: Финансы и статистика, 1998. - 176 с.

13. Вендров A.M. Проектирование программного обеспечения экономических информационных систем: Учебник. -М.: Финансы и статистика, 2003. 352 с.

14. Гамма Э., Хелм Р., Джонсон Р., Влиссндес Дж. Приёмы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер,2003.-368 с.

15. Головин О.В. Радиосвязь. М.: Радио и связь, 2003. - 288 с.

16. Гома X., UML. Проектирование систем реального времени, параллельных и распределённых приложений: Пер. с англ. М.: ДМК Пресс, 2002. - 704 с.

17. Горский Н., Анисимов В., Горская JL Распознавание рукописного текста: от теории к практике. СПб.: Политехника, 1997. - 126 с.

18. Дж. Макконнелл. Анализ алгоритмов. Вводный курс М.: Техносфера, 2002. - 304 с.

19. Дж.Ту, Р. Гонсалес. Принципы распознавания образов.: Пер. с англ. М.: Мир, 1974.-411 с.

20. Журавлёв Ю.И. Состояние и перспективы развития исследований в области обработки и распознавания видеоинформации // Инженерное образование, №1, 2005.-с. 5-12.

21. Здор С.Е., Широков В.Б. Оптический поиск и распознавание М.: Наука, 1973. -238 с.

22. Калбертсон Роберт и др. Быстрое тестирование: Пер. с англ. М.: "Вильяме", 2002.-384 с.

23. Канер Сэм и др. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ. К.: "ДиаСофт", 2001. -544 с.

24. Кашкин В.Б. Цифровая обработка изображений. Дистанционное зондирование Земли из космоса // Метод, указания для студентов ФИВТ, КГТУ, Красноярск, 1998.-79 с.

25. Кельтон В., Лоу А. Имитационное моделирование. Классика CS. 3-е изд. СПб.: Питер, 2004. - 847 с.

26. Керниган Б., Пайк Р. Практика программирования М.: Вильяме, 2004. - 288 с.

27. Козлов В.Н. Математика и информатика. СПб.: Питер, 2004. - 266 с.

28. Котляров В.П., Коликова Т.В., Некрасов Н.А., Епифанов Н.А. Технологии программирования. Основы современного тестирования программного обеспечения, разработанного на С#: Учеб.пособие СПб.: Издательство СПбГПУ,2004.- 168 с.

29. Лавров С.С. Программирование. Математические основы, средства, теория. -СПб.: БХВ-Петербург, 2001. 320 с.

30. Леоненков А.В. Самоучитель UML. 2-е изд., перераб. и доп. - СПб.: БХВ-Петербург, 2004. - 432 с.

31. Липаев В.В. Выбор и оценивание характеристик качества программных средств. Методы и стандарты. М.: СИНТЕГ, 2001. - 228 с.

32. Липаев В.В. Методы обеспечения качества крупномасштабных программных средств. М.: СИНТЕГ, 2003. - 520 с.

33. Липаев В.В. Надёжность программных средств. Серия "Информатизация России на пороге XXI века". М.: СИНТЕГ, 1998. - 232 с.

34. Липаев В.В. Обеспечение качества программных средств. Методы и стандарты. Серия "Информационные технологии". М.: СИНТЕГ, 2001. 380 с.

35. Лисицын А.Л. Базируясь на достижениях науки и высоких технологий // Железнодорожный транспорт. -№ 9, 2002. с. 2-9.

36. Мазуров В.Д. Метод комитетов в задачах оптимизации и классификации. М.: Наука, 1990.-248 с.

37. Майерс Г. Искусство тестирования программ: Пер. с англ.- М.: Финансы и статистика, 1982.- 176 с.

38. Макгрегор Джон, Сайке Дэвид. Тестирование объектно-ориентированного программного обеспечения: Пер. с англ. К.: ООО "ТИД ДС", 2002. - 432 с.

39. Мушик Э., Мюллер П. Методы принятия технических решений. М.: Мир, 1990. -208 с.

40. Назаров А.В., Лоскутов А.И., Нейросетевые алгоритмы прогнозирования и оптимизации систем СПб.: Наука и Техника, 2003. - 384 с.

41. Непомнящий В.А., Рякин О.М. Прикладные методы верификации программ / Под ред. А.П.Ершова. М.: Радио и связь, 1988. - 256 с.

42. Никулин О.Ю., Петрушин А.Н. Системы телевизионного наблюдения: Учебно-справочное пособие-М.: Оберег-РБ, 1997. 168 с.

43. Одинцов И. Профессиональное программирование. Системный подход. СПб.: BHV-СПб., 2002.-512 с.

44. Орлов С.А. Технологии разработки программного обеспечения. Учебное пособие. СПб.: Питер, 2003. - 480 с.

45. По материалам сайта http://alistair.cockburn.us/.

46. По материалам сайта www.ixbt.com.

47. По материалам сайта www.iso.org.

48. По материалам сайта www.microsoft.com.

49. По материалам сайта www.omg.org (UML 2.0 ОСЬ Adopted Specification).

50. По материалам сайта www.osp.ru.

51. По материалам сайта www.pctuner.ru.

52. По материалам сайта www.physio.ru.

53. По материалам сайта www.rol.ru.

54. По материалам сайта www.sei.cmu.edu.

55. По материалам сайта www.softwareautomation.com.

56. По материалам сайтов http://met-rix.narod.ru/, http://master.cmc.msu.ru/.

57. По материалам сайтов http://vI.fmnet.info/, www.csr.ncl.ac.uk/vdm, www.sdl-forum.org.

58. По материалам сайтов www.citforum.ru,www.standart.ru.

59. По материалам сайтов www.iworld.ru,www.rsdn.ru,www.server.md.

60. Поттосин И. В. "Хорошая программа": попытка точного определения понятия // Программирование, 1997, № 2, с. 3-17.

61. Рихтер Дж. Windows для профессионалов: создание эффективных Win32-приложений с учётом специфики 64-разрадной версии Windows СПб: Питер, 2001.-752 с.

62. Сборник действующих международных стандартов ИСО серии 9000. Т-1,2,3. М.: ВНИИКИЛ998.

63. Соколов А.П. Системы программирования: теория, методы, алгоритмы: Учеб.пособие. М.: Финансы и статистика, 2004. - 320 с.

64. Тампре JI. Введение в тестирование программного обеспечения: Пер. с англ. М.: "Вильяме", 2003. - 368 с.

65. Таненбаум Э. Современные операционные системы. 2-е изд. СПб.: Питер, 2002. -1040 с.

66. Технологии программирования. Практикум по тестированию программного обеспечения на С# / В.П. Котляров, Т.В. Коликова, В.А.Сухомлинов, Д.В. Югай; Под. Ред. В.П. Котлярова. СПб.: Изд-во СПбГПУ, 2004. 132 с.

67. Турбович И.Т., Гитис В.Г., Маслов В.К. Опознание образов. М.: Наука, 1971. -246 с.

68. Ульман Ш. Принципы восприятия подвижных объектов: Пер. с англ. М.: Радио и связь, 1983.- 168 с.

69. Форсайт, Понс. Компьютерное зрение. Современный подход.: Пер. с англ. М.: Вильяме, 2004. - 928 с.

70. Хорн Б.П.К. Зрение роботов. М.: Мир, 1989. - 487 с.

71. Чэн Ш.-К., М. Принципы проектирования систем визуальной информации. М.: Мир, 1994.-408 с.

72. Шаллоуей А., Трот Д. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию: Пер. с англ. М.: Издательский дом "Вильяме", 2002. - 288 с.

73. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002. - 496 с.

74. Яншин В.В. Анализ и обработка изображений: принципы и алгоритмы. М.: Машиностроение, 1994. - 112 с.

75. А. С. Как, М. Slaney Principles of Computerized Tomographic imaging. (IEEE Press, NY 1988)

76. Automated inspection system with bright field and dark filed illumination, патент № W09820327, 1998-05-14.

77. Boem, B.W. A spiral model of software development and enhancement. IEEE Computer, 21 (5), 1988. pp.61-72.

78. Hoare C.A.R. An axiomatic basis for computer programming. Communications of the ACM, 1969, v.12, №10, pp.576-583.

79. Dijkstra E. A discipline of programming. Englewood Cliffs, NJ: Prentice Hall, 1976. pp.217.

80. Highsmith J.A. Agile Project Management. Creating innovative products. Addison-Wesley. 2004. pp.312.

81. Humphrey, Watts S. Introduction to the Personal Software Process (SEI Series in Software Engineering), Reading, MA: Addison-Wesley, December 1996. pp.286.

82. Linger C. Cleanroom software engineering. Technology and process. Addison-Wesley Professional. 1999. pp.416.

83. Mayers G. Composite Structured Design. New York, NY: Van Norstrand Reinhold, 1978. pp.174.

84. N.Francez. Verification of programs. Addison-Wesley Publishers Ltd., 1992. pp. 283.

85. Palmer S., Felsing M. A Practical guide to feature-driven development. Pearson education. 2001. pp.304.

86. Schwaber K., Beedle M. Agile software development with SCRUM. Pearson education. 2001. pp.158.

87. Stapleton J. DSDM, Dynamic Systems Development Method. The method in practice. Addison-Wesley. 1997.pp.192.

88. Ward, P., and Mellor, S. Structured Development for Real-Time Systems: Introduction and Tools. Englewood Cliffs, NJ: Yourdon Press, 1985. pp.311.

89. Yeremin S.N. Using image processing technology in metal-roll quality control systems //th

90. International Conference on Pattern Recognition and Image Analysis: New Information Technologies (PRIA-7-2004). St. Petersburg, October 18-23, 2004. Conference Proceedings Volume III., St. Petersburg, SPbETU, 2004. P. 982 - 985.

91. Yves bertot and Pierre Casteran. Coq's Art. Springer-Verlag, 2004. pp.274.1. Метод верификации Флойда

92. Результирующие предикат и функция пути а определяются по формуле RJv) = R*(v), Та (v) = rj (v).

93. Этап 4. Построение условий верификации. Для каждого базового пути а ведущего из точки s в точку t строится условие верификации вида: Vv, (/s (v) л Ra (v)) => /((Ta (v)).

94. Этап 4. Построение условий завершаемости. Для каждого базового пути а из точки s в точку сечения t формируются условия вида Vv, (Js (v) л Ra (v)) (us (v) R и, (Ta (v))), где R строгое отношение порядка.

95. Полная корректность программы Р, относительно Ф, выводится из её частичной корректности и завершаемости, то есть {(p}P{if/} л(<р)Р(0 => ((р)Р{ч/).1. Метод верификации Хоара

96. Если при помощи системы Хоара удаётся установить завершаемость всех циклов программы для любого начального состояния памяти сгн, удовлетворяющего предусловию ) = t, то программа Р завершается на (р {(p)P{t) .

97. Полная корректность программы Р, относительно Ф, выводится из её частичной корректности и завершаемости, то есть {ф}Р{ц/} л ((p)P(t) => р)Р(ц/).

98. Схема получения расширенной спецификации

99. Под спецификационными переменными понимаются переменные, фиксирующие начальные значения переменных программы, необходимых для задания формальной спецификации, в частности постусловия.

100. Классификация базовых характеристик качества ПС в соответствии состандартом ISO 9126

101. Категорийные-описательные характеристики1. Субхарактеристики

102. Функциональные возможности

103. Функциональная пригодность1. Корректность-правильность

104. Способность к взаимодействию1. Защищённость

105. Количественные характеристики1. Завершённость1. Надёжность -'Х1. Устойчивость к дефектам- Восстанавливаемость1. Доступность-готовность1. Временная эффективность1. Используемость ресурсов

106. Качественные характеристики

107. Пример поиска источника ошибки, выявленной в ПМ ОЭСИ ЖТ, реализующего эвристический алгоритм