Методики создания и внедрения агентов в прикладное и системное программное обеспечение для автоматизации тестирования и мониторинга встроенных вычислительных систем тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат технических наук Голубев, Алексей Андреевич

  • Голубев, Алексей Андреевич
  • кандидат технических науккандидат технических наук
  • 2007, Санкт-Петербург
  • Специальность ВАК РФ05.13.11
  • Количество страниц 213
Голубев, Алексей Андреевич. Методики создания и внедрения агентов в прикладное и системное программное обеспечение для автоматизации тестирования и мониторинга встроенных вычислительных систем: дис. кандидат технических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Санкт-Петербург. 2007. 213 с.

Оглавление диссертации кандидат технических наук Голубев, Алексей Андреевич

ВВЕДЕНИЕ.

1 ОБЗОР ВОЗМОЖНОСТЕЙ ТЕХНОЛОГИИ JAVA ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ И АНАЛИЗ СОВРЕМЕННЫХ ПОДХОДОВ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ.

1.1 Java технология для мобильных устройств.

1.1.1 Особенности kJava Виртуальных Машин (KVM).

1.1.2 Обзор особенностей МЮР-профайла. Пользовательское приложение MIDlet.

1.1.3 Обзор особенностей DoJa-профайла. Пользовательское приложение i-appli.

1.1.4 Системные kJava приложения - CORElet.

1.1.5 Java байт-код. Анализ современных байт-код анализаторов.

1.2 Формальные методы в разработке ПО.

1.3 Автоматизация тестирования.

1.3.1 Использование агентов для автоматизации тестирования и мониторинга.

1.4 Анализ средств автоматизации тестирования Java ME.

1.4.1 Анализ средств автоматизации тестирования Java ME без использования агентов.

1.4.1.1 J2ME Unit Testing Framework.

1.4.2 Анализ средств автоматизации тестирования Java ME на основе агентов.

1.4.2.1 ТСК.

1.4.2.2 Java Device Test Harness.

1.4.2.3 Communology MTE.

1.4.2.4 Mobile Complete LiveTest.

1.4.2.5 PTF.

1.4.2.6 FlexAuto.

1.5 Анализ систем автоматизации тестирования на основе генерации тестовых сценариев.

1.5.1 Test Vector Generation System.

1.5.2 MulSaw.

1.5.3 GOTCHA-TCBEAN.

1.5.4 AsmL Test Tool.

1.5.5 UniTesK.

1.5.6 VRS/TAT.

1.6 Сравнительный анализ систем автоматизации тестирования.

1.7 Выводы.

2 МЕТОДИКА ВСТРАИВАЕМЫХ АГЕНТОВ ДЛЯ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ И МОНИТОРИНГА ВСТРОЕННЫХ JAVA СИСТЕМ.

2.1 Реактивные системы.

2.1.1 Понятие реактивной системы.

2.1.2 Описание реактивной системы как объекта тестирования.

2.2 Представление Java систем в виде реактивных моделей.

2.2.1 Реактивная модель Java ME приложения.

2.2.2 Реактивная модель KVM.

2.2.3 Реактивная модель окружения Java платформы.

2.2.4 Интегрированная модель взаимодействия компонентов мобильного устройства.

2.3 методика встраиваемых агентов.

2.3.1 Модель универсального встраиваемого агента.

2.3.2 Методика встраивания агентов для Java ME приложений.

2.3.3 Методика встраивания агентов на уровне окружения.

2.3.4 Обобщенная формулировка методики.

2.4 Проверка корректности моделей.

2.5 Выводы.

3 КОНЦЕПЦИЯ РЕАЛИЗАЦИИ КОМПЛЕКСА МЕТОДИК ВСТРАИВАНИЯ АГЕНТОВ.

3.1 Концепция реализации методики для тестирования встроенных Java ME приложений.

3.1.1 Концепция разработки классов-оболочек и перехвата управления потока исполнения приложения >

3.1.2 Концепция тестирования системных Java ME приложений.

3.1.2.1 Методика встраивания агентов в K.VM.

3.1.2.2 Реализация методики встраивания агентов в KVM.

3.1.3 Обобщенная концепция интеграции тестового набора, агента и тестируемого приложения.

3.1.4 Анализ и модификация байт-кода для встраивания агентов в Java приложения.

3.1.4.1 Алгоритм работы байт-код анализатора.

3.1.4.2 Безопасность алгоритма работы байт-код анализатора.

3.2 koi 1цепция реализации методики для тестирования системного платформенного по.

3.2.1 Методика встраивания пассивного агента на уровне окружения.

3.2.2 Методика встраивания активного агента на уровне окружения.

3.2.3 Реализация методики встраивания агентов на уровне окружения.

3.3 Методика выбора альтернатив на основе контрольных сумм.

3.4 Выводы.

4 РЕАЛИЗАЦИЯ ТЕХНОЛОГИИ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ НА ОСНОВЕ

РАЗРАБОТАННЫХ МЕТОДИК.

4.1 Технологическая цепочка.

4.2 Архитектура системы.

4.2.1 Модуль тестирования пользовательских M1DP-приложений и API.

4.2.2 Модуль тестирования системных и DoJa приложений.

4.2.3 Модуль тестирования системных платформенных приложений.

4.2.4 Пользовательская система для настройки и подготовки тестовых сценариев.

4.3 Выводы.

5 РЕЗУЛЬТАТЫ ПРИМЕНЕНИЯ РАЗРАБОТАННЫХ МЕТОДОВ И ТЕХНОЛОГИИ АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ.

5.1 Применение методики встраиваемых агентов для автоматизации тестирования Java ME приложений.

5.1.1 Анализ результатов применения технологии автоматизации тестирования Java ME приложений

5.2 Применение методики встраивания native-atehtob для автоматизации тестирования мобильных платформ.

5.2.1 Анализ результатов применения технологии автоматизации тестирования мобильных платформ.

5.3 сравнительный анализ результатов применения методик встраивания агентов с системой автоматизации PTF.

5.4 Выводы.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Методики создания и внедрения агентов в прикладное и системное программное обеспечение для автоматизации тестирования и мониторинга встроенных вычислительных систем»

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

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

Современное понимание процесса автоматизации тестирования позволяет выделить четыре основных этапа:

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

2. Автоматизация загрузки и запуска тестов.

3. Автоматизация прогона тестов.

4. Автоматизация сбора и анализа результатов.

Для обеспечения наибольшей эффективности технологии автоматизации тестирования встроенных Java систем она должна удовлетворять следующим требованиям:

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

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

• Возможность автоматизированного прогона тестовых циклов, сбора и анализа результатов.

• Гибкая настройка и адаптация к новым версиям встроенных Java платформ.

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

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

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

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

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

Цели и задачи диссертационной работы.

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

• Разработка требований к встраиваемым программным агентам на основе проведенного анализа существующих методов и средств автоматизации тестирования.

• Создание поведенческих моделей основных архитектурных компонентов встроенных Java систем и модели универсального встраиваемого агента, инвариантных относительно платформы.

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

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

• Создание программного инструментария, обеспечивающего настройку и интеграцию агентов с тестируемой системой.

• Проверка работоспособности предложенных методик и инструментальных средств в нескольких проектах для различных архитектурных платформ встроенных Java систем.

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

Методы исследования. В диссертации использованы результаты теории реактивных и транзитивных систем, конечных автоматов и базовых протоколов, аппарат формальных спецификаций, концепция объектно-ориентированных моделей. Основными критериями являлись универсальность, технологичность, простота использования и адаптации разработанных методик, а также возможность интеграции с существующими средствами автоматической генерации кода тестов. Применялись стандарты Unified Modeling Language

UML), Message Sequence Charts (MSC), ANSI С и Java. В основу исследований положен системный подход.

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

Научные результаты и их новизна:

1. Разработаны модели архитектурных компонентов встроенных Java систем, инвариантные относительно платформы, в виде систем переходов, дополненных наблюдаемым временем.

2. Предложена модель универсального адаптивного встраиваемого агента, инвариантного относительно платформы, в виде системы переходов, дополненной наблюдаемым временем.

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

4. На основе анализа поведения моделей предложена обобщенная методика встраивания агентов.

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

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

7. Предложена методика выбора альтернатив на основе сигнатур (в виде контрольных сумм) для ускорения выбора путей ветвления тестовых сценариев.

Практическая значимость работы. На базе полученных научных результатов разработан комплекс программных средств, использующий методики встраивания агентов для автоматизации тестирования прикладного и системного ПО, и их взаимодействий. Программный комплекс использован в компании Motorola в 6 программных проектах для двух различных платформенных архитектур в таких областях как: разработка Java ME приложений (MIDlet, i-appli, CORElet), сертификационное и компонентное тестирование встроенных Java платформ. Созданные методики и программные средства являются универсальными и могут быть использованы для автоматизации тестирования и мониторинга прикладного и системного ПО любых современных платформенных архитектур встроенных вычислительных систем.

Апробация работы. Основные результаты и выводы диссертации докладывались на следующих международных научных конференциях: «IEEE Russia Northwest Section, 110 Anniversary of Radio Invention conference» (СПб., 2005 г.); «2006 IEEE Tenth International Symposium on Consumer Electronics» (СПб., 2006 г); Motorola Technology Day (Spb 2005, 2006); конференциях «Технологии Microsoft в теории и практике программирования» 2004, 2005 и 2006 гг.; конференциях XXXII-2004 г, XXXIII-2005 г, XXXIV-2006 г недели науки СПбГПУ. По материалам диссертации опубликовано 6 печатных работ, в том числе одна статья в издании, входящем в список рекомендованных изданий ВАК.

Внедрение. Методики встраивания агентов для исследуемых вычислительных систем и технология автоматизации тестирования, разработанная на их базе, внедрены в ЗАО «Северо-Западная Лаборатория Лтд.», ОАО «Интелтех», ЗАО «Моторола ЗАО» и использовались при разработке учебно-методического комплекса СПбГПУ по курсу «Технология индустриального программирования» на кафедре ИУС. Практическое использование представляемых на защиту результатов подтверждено соответствующими актами о внедрении.

Структура и объём работы. Работа содержит введение, 5 глав, заключение и 5 приложений. Объём работы 150 страниц, количество иллюстраций 69, список использованной литературы состоит из 112 наименований.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Голубев, Алексей Андреевич

Основные результаты работы докладывались и обсуждались на семинарах ЗАО «Моторола ЗАО» (Санкт-Петербург), учебной лаборатории Моторолы в СПбГПУ, конференциях «IEEE Russia Northwest Section, 110 Anniversary of Radio Invention conference» и «2006 IEEE Tenth International Symposium on Consumer Electronics».

По материалам диссертационной работы опубликовано 6 печатных работ, в том числе одна в издании из списка ВАК.

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

Заключение

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

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

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

2. Предложены модели, описывающие функционирование основных компонентов встроенных Java систем (Java ME приложения, kJava виртуальной машины (KVM), окружение Java платформы) как реактивных систем. Разработана реактивная модель универсального встраиваемого агента.

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

4. Предложена обобщенная методика встраивания агентов на основе разработанных моделей.

5. Разработаны концепции программной реализации для методик встраивания агентов на уровне всех основных компонентов встроенных Java систем для решения различных задач автоматизации тестирования и мониторинга.

6. Разработан программный инструментарий, обеспечивающий возможность настройки, разработки и интеграции агентов с тестируемой системой.

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

8. Полученные по итогам применения технологии результаты были проанализированы и показали эффективность использования технологии.

Полученные в ходе работы основные результаты:

1. Проведен анализ предметной области. На основе анализа произведен выбор инструментария для автоматической генерации кода тестов. Определены недостатки существующих методов и средств для автоматизации тестирования встроенных Java систем. Среди недостатков отмечены: узкая специализированная направленность и отсутствие возможности гибкой настройки; трудоемкость расширения тестовых наборов; невозможность сопряжения с системами автоматической генерации кода тестов.

2. На основе анализа существующих средств автоматизации тестирования встроенных Java систем и их недостатков сформулированы требования к встраиваемым программным агентам.

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

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

• методику встраивания агентов на уровне Java ME приложений;

• методику встраивания агентов на уровне KVM;

• алгоритм анализа и модификации байт-кода для поддержки встраивания агентов в Java ME приложения;

• методику встраивания активных и пассивных агентов на уровне окружения;

• методику выбора альтернатив на основе контрольных сумм.

5. Разработана технология автоматизации тестирования встроенных Java систем на основе использования системы VRS/TAT и методик встраивания агентов.

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

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

Анализ результатов использования методик и разработанной на их основе технологии автоматизации тестирования подтверждает их работоспособность и эффективность применения для встроенных Java систем.

В практическом плане на базе полученных научных результатов был разработан комплекс программных средств, предназначенный для построения комплексной технологии автоматизации тестирования встроенных Java систем. Программный комплекс был использован в компании Motorola в 6 реальных программных проектах для двух различных платформенных архитектур в таких областях как: разработка Java ME приложений (MIDlet, i-appli, CORElet), сертификационное и компонентное тестирование встроенных Java платформ. Созданные методики и программные средства являются универсальными и могут быть использованы для автоматизации тестирования и мониторинга любых современных платформенных архитектур встроенных систем.

Разработанные методики встраивания агентов и построенная на их базе технология автоматизации тестирования использованы в курсе «Технология индустриального программирования» кафедры «Информационные и Управляющие Системы» СПбГПУ.

Общий объем разработанного программного обеспечения, вошедшего в программный комплекс поддержки разработанных методик и технологии автоматизации тестирования, составил около 700 килобайт исходного кода на языках С, С++ и Java; объем документации на разработанное программное обеспечение - более 300 страниц.

Список литературы диссертационного исследования кандидат технических наук Голубев, Алексей Андреевич, 2007 год

1. Java 2 Platform, Micro Edition Connected Device Configuration/Foundation Profile Version 1.0.2

2. SUN Microsystems CLDC 1.1 (JSR 139) Specifications.

3. DoJa 1.5 Overseas Edition DoJa Java Content Developer's Guide, NTT DoCoMo,Inc., November 22nd, 2002.

4. J2ME Building Blocks for Mobile Devices, White Paper on KVM and the Connected, Limited Device Configuration (CLDC), Sun Microsystems, May 19,2000.

5. Vsevolod P. Kotlyarov, Alexey A. Golubev, Andrey N. Karpov, "Testing Automation for system core kJava applications". 2006 IEEE Tenth International Symposium on Consumer Electronics (ISCE 2006), Proceedings, pp.596-599,2006.

6. Raja Vallee-Rai, Laurie Hendren, Vijay Sundaresan, Patrick Lam, Etienne Gagnon and Phong Co. Soot a Java Optimization Framework. Proceedings of CASCON 1999, pages 125—135, 1999.

7. Jerome Miecznikowski and Laurie Hendren. Decompiling Java Bytecode: Problems, Traps and Pitfalls. CC'02, April 2002, Grenoble France.

8. J2MEUnit technology http://j2meunit.sourceforge.net/doc.html

9. F. Spoto. The Julia Generic Static Analyser, http://www.sci.univr.it/spoto/julia, p. 5-34,2005.

10. Apache Software Foundation. Bcel The Bytecode Engineering Library. http://jakarta.apache.org/bcel/, 2002.

11. A. Goldberg and K. Havelund. Instrumentation of Java Bytecode for Runtime Analysis. In Proc. Formal Techniques for Java-like Programs, volume 408 of Technical Reports from ETH Zurich, Switzerland, 2003.

12. S. Cohen. Jtrek. Developed by Compaq, p. 7-31,2001

13. BLOAT. The Bytecode-Level Optimizer and Analysis Tool. http://www.cs.purdue.edu/s3/projects/bloat/

14. SUN Microsystems. Java Core Reflection API and Specification. Technical report, SUN Microsystems, February 1997.

15. Sommerville I., "Software Engineering", 6 edition, 2002.

16. R. Milne. The proof theory for the RAISE specification language. RAISE Report REM/12, STC Technology Ltd, 1990.

17. ITU-T z.100 (08/2002)// Telecommunication standardization sector of UTI, 202 c-http://www.itu.int/rec/recommendation.asp?type=items&lang=e&parent=T-REC-Z.100-200208-1

18. UML Distilled Second Edition A Brief Guide to the Standard Object Modeling Language.

19. ITU Recommendation Z.120. Message Sequence Charts (MSC), 11/99.

20. ISO Information Processing Systems - Open Systems Interconnection - "ESTELLE - A Formal Description Technique Based on an Extended State Transition Model", DIS 9074, 1987.

21. Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997.26. http://www.informatik.uni-bremen.de/cofi/Tools/CATS.html

22. K.L.McMillan, The SMV system, Carnegie Mellon University, 1992.

23. Боэм Б. Инженерное проектирование программного обеспечения. М.: Радио и связь, 1985.512 с.

24. ObjectManagementGroup, UML 2.0 OCL Specification. OMG documentptc/2003-10-14.

25. В. П. Котляров, Т. В. Коликова. Основы тестирования программного обеспечения: Учебное пособие. М.: Интернет-Университет Информационных Технологий; БИНОМ. Лаборатория знаний, 2006.285 с.

26. Котляров В.П., Пинаев Д.В. Методы и средства автоматизации тестирования программного проекта. Санкт-Петербург, 1998.

27. Канер С., Фолк Дж., Нгуен Енг. Тестирования программного обеспечения. К.: ДиаСофт, 2000. 544 с.

28. Ричард В. Дрейган, «Будущее программных агентов», PC Magazine March 25,1997, p. 190

29. Wooldridge M.J., Jennings N.R. Agent Theories, Architecture, and Languages: A survey. In: Intelligent Agents: Proceedings of the Workshop on Agents Theories, Architecture, and languages (ECAI-94), Springer-Verlag, 1995. pp. 1-39.

30. M.Wooldridge and N.RJennings, Intelligent agents: theory and practice, The Knowledge Engineering Review, v. 10:2,1995, pp. 115-152.

31. Глибовец Н.Н., Использование JADE (Java Agent Development Environment) для разработки компьютерных систем поддержки дистанционного обучения агентного типа, Educational Technology & Society 8(3), 2005, с.325-345.

32. MA. Лепешкин, Е.Ф. Березкин, «Подходы к мониторингу ИТ-услуг», Научная сессия МИФИ-2006, том 12.

33. Сниффер: щит и меч. http://www.tvoycomputer.ru/?item=27422&id=80

34. Ричард В. Дрейган, Эндрю Боскардин, «Новые программные агенты. Укрощение стихии Web», PC Magazine March 25,1997, p. 191

35. H. Дубова, «Средства управления сервисами», журнал «Открытые системы», № 04,2006. http://www.osp.ru/os/2006/04/021.htm

36. Todd Sundsted, An introduction to agents, JavaWorld.com, 06/01/98.

37. JConsole: http://java.sun.eom/j2se/l .5.0/docs/tooldocs/share/jconsole.html

38. Using JConsole to Monitor Applications: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html

39. JPDA: http://java.sun.c0m/javase/6/d0cs/techn0tes/guides/jpda/index.html

40. JVMTI: http://j ava. sun.com/j avase/6/docs/platform/jvmti/j vmti .html

41. JDWP: http://java.sun.c0m/javase/6/d0cs/techn0tes/guides/jpda/jdwp-spec.html

42. JDI: http://java.sun.c0m/javase/6/d0cs/jdk/api/jpda/jdi/index.html

43. Семен Бойков, Используем JDI, август 2006: http://blogs.sun.com/vmrobot/entry/%D0%B8%D 1 %81 %D0%BF%D0%BE%D0%BB%D 1 % 8C%D0%B 7%D 1 %8 3 %D0%B 5%D0%B С J di

44. Frank Cohen, «Java Testing and Design. From Unit Testing to Automated Web Tests», Prentice Hall PTR, 2004, 544 pages.

45. TestMaker: http://www.pushtotest.com

46. Чекинов Г.П., Чекинов С.Г. Применение технологии многоагентных систем для интеллектуальной поддержки принятия решения (ИППР) // Системотехника, №1,2003.

47. В.Б. Тарасов. От многоагентных систем к интеллектуальным организациям: философия, психология, информатика. М.: Эдиториал УРСС, 2002. - 352 с.

48. Java ME Unit tutorial. http://www.instrumentalservices.com/media/java/Java ME/Java MEUnitTutorial.pdf

49. RoleModel Software, http://www.rolemodelsoft.com55. TCK User Manual

50. The Java Compatibility Test Tools: JavaTest Harness.http://'} ava. sun.com/ developer/technical Articles/JCPtools2/index .html

51. Communology МТБ for Java ME, http://www.communology.com/dl/mtejavame270.pdf59. http://www.mobilecomplete.com/company/MobileCompleteLiveTest.pdf

52. Ilia Esipchuk, Anton Salnikov, Dr. Dmitry 0. Vavilov, "PTF-based Test Automation for Java Applications on Mobile Phones". 2006 IEEE Tenth International Symposium on Consumer Electronics (ISCE 2006), Proceedings, pp.593-595,2006.

53. T-VEC Technologies, http://www.t-vec.com/Home.asp

54. White, L.J., E.I. Cohen, "A Domain Strategy for Computer Program Testing," IEEE Transactions on Software Engineering, 6(3):247257 May, 1980.

55. MIT Software Design Group, http://mulsaw.lcs.mit.edu/

56. Farchi E., Hartman A., Pinter S. S. Using a Model-based Test Generator to Test for Standard Conformance, http://www.research.ibm.com/journal/sj/411/farchi.html

57. Friedman G., Hartman A., Nagin K., Shiran Т., Projected State Machine Coverage for Software Testing, http://www.haifa.il.ibm.com/projects/verification/gtcb/papers/projectionissta.pdf

58. Mike Barnett, Wolfgang Grieskamp, Wolfram Schulte, Nikolai Tillmann, Margus Veanes, "Validating Use-Cases with the AsmL Test Tool," qsic , p. 238,2003.68. http://research.microsoft.com/fse/asml/

59. W. Grieskamp, Y. Gurevich, W. Schulte, and M. Veanes. Generating Finite State Machines from Abstract State Machines. In Proc. of ISSTA'2002. Also: Microsoft Research Technical Report MSR-TR-2001-97.

60. ISP RAS Red Verst, http://www.ispras.ru/~RedVerst

61. TAT+Beta User's Manual © 2001-2005 MOTOROLA

62. VRS User's Manual © 2001-2005 MOTOROLA

63. Е.Ю.Парийская. Применение методов теории реактивных систем в задачах моделирования и качественного анализа непрерывно-дискретных систем. // Дифференциальные уравнения и процессы управления, 1998, №1, с. 368-417.

64. Е.Ю.Парийская. Сравнительный анализ математических моделей и подходов к моделированию и анализу непрерывно-дискретных систем. // Дифференциальные уравнения и процессы управления, 1997, №1, с. 91-120.

65. Manna Z., Pnueli A.: The Temporal Logic of Reactive and Concurrent Systems. Springer-Verlag, 1992.

66. Ю.Г. Карпов. Имитационное моделирование систем: Введение в моделирование с AnyLogic 5. Изд-во «БХВ-Петербург», 390 стр., 2006 г.

67. Bertolomieu В., Diaz М.: Modeling and verification of time dependent systems using time Petri nets. IEEE Transactions on Software Engineering, SE-17,N 3, March 1991.

68. Henzinger T.A., Manna, Z., Pnueli A.: Temporal proof methodologies for real-time systems. Proc. 18th Annual Symposium on Principles of Programming Languages, 1991, ACM Press, p.353-366.

69. Moller F., Tofts C.: A Temporal Calculus of Communicating Systems. Proceedings of CONCUR'90. Lecture Notes in Comp.Sc. 458, Springer-Verlag, 1990.

70. Baeten J.C.M., Bergstra J.A.: Real time Process Algebra. Formal Aspects of Computing, 3, p. 142-188, 1991.

71. Reed G.M., Roscoe A.W.: A Timed Model for Communicating Sequential Processes. Lecture Notes in Comp.Sc. 571, Springer-Verlag, 1986.

72. Ben-Ari M., Manna, Z., Pnueli A.: The Temporal Logic of Branching Time. Proc. 8th Annual Symposium on Principles of Programming Languages, 1981, ACM Press, Williamsburg, p. 164-176.

73. Clarke E.M., Emerson E.A., Systla A.P.: Automatic verification of finite-state concurrent systems using temporal-logic specifications. ACM Transactions on Programming Languages and Systems, 8(2): p.244-263.1986.

74. Lichtenshtein 0., Pnueli A.: Checking that finite state concurrent programs satisfy their linear specification. 12th Symp. on Principles of Program Languages. Austin, Texas. 97-107,1984.

75. A.B. Хорошилов Спецификация и тестирование систем с асинхронным интерфейсом, ИСП РАН, (http://www.citforum.ru/SE/testing/asynchronousinterface/)

76. Городецкий В. И. Многоагентные системы: современное состояние исследований и перспективы применения // Труды конференции по ИИ, 1996, с.Зб-45.

77. N. R. Jennings, and М. Wooldridge "Agent-Oriented Software Engineering" in Handbook f Agent Technology, (ed. J. Bradshaw) AAAI/MIT Press, 2000.

78. C. Petrie, Agent-based software engineering, First international workshop, AOSE 2000 on Agent-oriented software engineering, p.59-75, January 2001, Limerick, Ireland.

79. H. S. Nwana, Software Agents: An Overview, The Knowledge Engineering Review, Vol. 11, No 3, pp. 1-40, Sept 1996.

80. C. A. R. Hoare, "Communicating Sequential Processes", P-H 1985.

81. A.A.Letichevsky, J.V.Kapitonova, V.A.Volkov, A.A.Letichevsky, jr., S.N.Baranov, V.P.Kotlyarov, T.Weigert, System Specification with Basic Protocols, Cybernetics and System Analyses, 4,2005.

82. Б. Эккель. Философия Java. Библиотека программиста. СПб: Питер, 2001.

83. Т. Lindholm, F. Yellin. The Java(TM) Virtual Machine Specification (2nd Edition). Addison-Wesley Professional; 2 edition, 1999.

84. Д.Э. Кнут. Искусство программирования. 3 тома. Изд-во «Вильяме», 2005.

85. Т.Кормен, Ч.Лейзерсон, Р.Ривест. Алгоритмы: построение и анализ. М.: МЦНМО, 2000.

86. Ross N. Williams. A painless guide to CRC error detection algorithms, 1993. ftp.adelaide.edu.au/pub/rocksoft/crcv3.txt

87. Б. Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. Изд-во «Триумф», 2002.

88. В. J. McKenzie, R. Harries and Т. Bell. Selecting a Hashing Algorithm. Department of Computer Science, University of Canterbury, Christchurch, New Zealand.

89. FIPS PUB 198. The Keyed-Hash Message Authentication Code (HMAC), 2002.

90. M. Stigge, H. Plotz, W. Mailer, J.-P. Redlich. Reversing CRC Theory and Practice. HU Berlin Public Report, SAR-PR-2006-05, 24 May 2006.104. http://apollo.backplane.com/matt/crc64.html

91. Tanenbaum A.S., "Computer Networks", Prentice Hall, 1981, ISBN: 0-13-164699-0, pp. 130-132.108. http://www.w3.Org/TR/PNG/#D-CRCAppendix

92. Дробинцев П.Д. «Интегрированная технология обеспечения качества программных продуктов с помощью верификации и тестирования», диссертация на соискание ученой степени кандидата технических наук, Санкт-Петербург, 2006.

93. Брукс Ф. Мифический человеко-месяц или как создаются программные системы. -СПб.: Символ-Плюс, 1999.304 с.

94. Липаев В.В. Тестирование программ. М.: Радио и связь, 1986.296 с.

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

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