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

кандидата технических наук
Скоробутов, Александр Юрьевич
город
Москва
год
2003
специальность ВАК РФ
05.13.12
Диссертация по информатике, вычислительной технике и управлению на тему «Инструментальные средства автоматизации разработки тестового программного обеспечения для систем фиксированной связи с кодовым разделением каналов»

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

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

Скоробутов Александр Юрьевич

Инструментальные средства автоматизации разработки

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

Специальность 05.13.12 «Системы автоматизации проектирования»

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

Москва - 2003 г.

Работа выполнена на кафедре «ПКИМС» Московского государственного института (технического университета)

электронной техники

Научный руководитель: д.т.н., профессор,

Соколов А.Г.

Официальные оппоненты: д.т.н., профессор,

Гагарина Л.Г.

к.т.н.

Фельдман М.И.

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

НИИ Радио

Защита состоится « »

2003г. в

часов на

заседании диссертационного совета 212.134.01 в Московском государственном институте электронной технике (техническом университете) по адресу 124498, Москва, МИЭТ

С диссертацией можно ознакомиться в библиотеке МИЭТ.

Автореферат разослан

2003 г.

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

д.т.н. профессор ^^К4,^,2^Неустроев С.А.

2о217

(Дбш

0>бщая характеристика работы

Аннотация

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

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

В работе проведено сравнение сложности разработки тестового ПО традиционными способами и с использованием предложенного метода. Сделаны выводы о перспективности рассмотренного подхода.

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

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

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

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

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

Задачами диссертационной работы являются:

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

• разработка на основе данной модели специализированного языка с независимым от оборудования ядром;

• разработка архитектуры инструментальных средств для создания тестового ПО;

• создание инструментальных средств разработки тестового и управляющего ПО на основе этой архитектуры;

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

Научная новизна работы:

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

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

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

4. Решена задача синхронизации передаваемого и принимаемого потоков в алгоритме оценки качества связи в канале системы абонентского доступа "КЕЕ А51егР1ех" со стороны абонентской станции.

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

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

Достоверность полученных результатов подтверждается используемым в работе математическим аппаратом, экспериментальным тестированием и промышленной эксплуатацией разработанного лингвистического и программного обеспечения при создании системы абонентского доступа "КЕЕ Аз1егР1ех".

Личный вклад автора.

Основными из полученных автором результатов, являются:

1. Систематизация требований к разработке тестового ПО для цифровых блоков сетей фиксированной связи с кодовым разделением каналов.

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

3. Разработка специализированного языка ТОСЬ, предназначенного для описания алгоритмов функционирования ПО, осуществляющего ТНДМ цифрового телекоммуникационного оборудования; разработка архитектуры инструментальных средств создания тестового ПО на основе языка ТОСЬ.

4. Разработка методики и алгоритмов оценки качества связи в канале системы абонентского доступа "КЕЕ А51егР1ех" со стороны абонентской станции.

5. Создание программной среды для ТНДМ цифровых блоков систем фиксированной связи с кодовым разделением каналов на основе интерпретатора языка ТЭСЬ.

6. Решение при помощи созданной программной среды следующих задач в рамках разработки системы абонентского доступа "КЕЕ АБ1егР1ех":

• диагностика и настройка ИР-блока;

• оценка качества связи в канале со стороны абонентской станции.

Практическая значимость диссертационной работы:

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

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

Внедрение результатов.

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

На защиту выносится:

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

2. Язык ТОСЬ, предназначенный для описания алгоритмов тестирования, настройки и мониторинга оборудования.

3. Структура инструментальных средств для создания тестового ПО на основе языка ТОСЬ.

4. Методика решения задач по тестированию, настройке и мониторингу цифровых блоков телекоммуникационного оборудования при помощи программной среды на основе интерпретатора ТЭСЬ.

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

Апробация работы.

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

Публикации.

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

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

Диссертация изложена на 147 страницах основного текста, состоит из введения, 4 глав, заключения, списка литературы из 73 наименований, содержит 35 рисунков и 6 таблиц. Работа сопровождается тремя приложениями.

Содержание работы

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

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

Вопросам тестирования, диагностики и организации измерений в современных телекоммуникационных системах посвящены работы И.Г. Бакланова и Н.Ф. Мельниковой.

При проектировании ПО для тестирования и диагностики телекоммуникационных систем нужно учитывать:

1. комплексный подход к тестированию и диагностике;

2. распределенный характер системы;

3. единообразное управление различными функциональными блоками;

4. простоту и наглядность управления оборудованием и визуализации полученных результатов.

Выделим задачи, которые должно решать тестовое ПО:

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

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

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

4. вычисление параметров, рассчитываемых, исходя из данных, принимаемых от оборудования;

5. визуализация полученных результатов.

В соответствии со сформулированными задачами можно выделить требования к тестовому ПО:

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

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

3. Удобство интерфейса пользователя. ПО должно обеспечивать наглядность ввода исходных и отображения результирующих

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

Если требования 1 и 2 справедливы для любого тестового ПО, то требование 3 приобретает совершенно различные оттенки в зависимости от того, на какого пользователя ориентировано данное ПО.

В данной работе делается акцент на задачах, возникающих следующих этапах разработки систем связи:

1. автономная отладка функциональных блоков;

2. настройка оборудования функциональных блоков;

3. тестирование, диагностика и отладка системы на этапе интеграции;

4. тестирование и мониторинг на этапе тестовых и сертификационных испытаний.

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

Результаты сравнительного анализа методов разработки ПО для телекоммуникационных систем приведены в таблице 1. Каждая строка характеризует один из методов разработки ПО для телекоммуникационных систем:

1. "Ручное программирование" на С++;

2. Программирование на С++ с использованием специализированных SDK, поставляемых разработчиком оборудования (Аббревиатура SDK происходит от английского "software development kit" и является общепринятым обозначением для набора инструментальных средств разработки ПО, включающего в себя библиотеки, заголовочные файлы, документацию и т.п.);

3. Генераторы приложений на основе специализированного языка;

4. Генераторы приложений на основе визуальных сред;

5. Предлагаемый в данной работе метод - использование среды разработки на основе специализированного языка с независимым от оборудования ядром.

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

Таблица 1

Сравнительный анализ методов разработки ПО для телекоммуникационных систем

Метод Время Сложность Сложность Гибкость к Применимость Применимость

разработки освоения процесса изменениям в к системам к этапам

инструментария разработки оборудовании жизни

ПО системы

1 Очень Очень Очень Максимальная Без Без

большое высокая высокая (++) ограничений ограничений

(") (-") (") (++) (++)

2 Большое Высокая Высокая Высокая Существует ряд Без

(") (") (") (+) ограничении ограничении

(-) (++)

3 Небольшое Невысокая Невысокая Зависит от Существует ряд Существует ряд

(+) (+) (+) гибкости спец. существенных существенных

языка ограничении ограничении

(+/-) (-) (")

4 Предельно Предельно Предельно Крайне Существует ряд Существует ряд

малое малая малая низкая существенных существенных

(++) (++) (++) (-") ограничении ограничении

(") (-")

5 Небольшое Невысокая Невысокая Высокая Существует ряд Без

(+) (+) (+) (+) ограничений ограничении

(") (++)

++ - метод имеет существенное преимущество; + - метод обладает достоинствами

+/- - достоинства и недостатки метода зависят от конкретной реализации

- - метод обладает недостатками

-- - метод обладает существенными недостатками

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

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

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

Рис. 1 Общая схема взаимодействия с устройством

1

Механизм взаимодействия с устройством с! можно представить 1

в виде кортежа:

а-(Б, Б, К, 5)

Р - конечное множество входных сигналов; Б - конечное множество внутренних состояний; К - конечное множество выходных сигналов; 5 - функция зависимости выходных сигналов от входных и от внутренних состояний

12

I

Входным сигналом является команда устройству

Р = {£}, где £ - подача ¡-й команды. Выходным сигналом является ответ устройства на поданную команду или извещение о внутреннем состоянии устройства

К = А и Е, где А - конечное множество ответов на команды

Е - конечное множество извещений о внутренних состояниях устройства Функция зависимости 8 задается при помощи конечного множества правил, задающих отношения между элементами множеств Р и А; 8 и Е: 6= {г,}, г, е Я,

где Я - конечное множество правил, определяющих зависимости между элементами множеств Р и А; 8 и Е. Правило г определяется следующим образом: г = (Ь, к, О,

где Ь - инициирующий сигнал (команда устройству или внутреннее состояние устройства); к - результирующий выходной сигнал;

г - максимальное время, которое может пройти от момента подачи команды устройству или изменения внутреннего состояния устройства (Ь) до момента прихода выходного воздействия (к).

Требование детерминированности работы устройства накладывает следующие ограничения: _

1. УкеК (3 Ь^ив)), г = (Ь,, к, 0) & (3 Ь2е(11и8)), г = к, 0). Для любого выходного сигнала кеК существует один и только один инициирующий сигнал Ье^иБ)._

2. УгеЯ=> (3 М^иБ)), г = (1ц, к, I)) & (3 Ь2б(Ьи8)), г = к, I)). Для любого правила геЯ существует один и только один инициирующий сигнал Ье(Ри8).

Можно выделить 3 способа взаимодействия устройства и модуля программного управления устройством (МПУУ): I 1. Событие - определяется одним правилом геЯ:

г-(И, к, I), Ье8, кеЕ, 1*оо;

2. Команда без ответа - определяется одним правилом геЯ: г = (11, 0,<»), Ье Р;

3. Команда с ответом - определяется одним или несколькими правилами геЯ, проецирующими Ь„еР в элементы множества

А„сА. Ап - конечное множество ответов на команду Ьп, т.е.

Уа,€ А„ 3 г,еЯ: г, = (Ьп, а„ 0,

Справедливы следующие соотношения:

А=()А1 /=1

Все прочие сочетания Ь, к и I являются некорректными в рамках рассматриваемой модели.

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

Следовательно, алгоритм взаимодействия ПО с устройством должен функционировать по следующему алгоритму:

1. Подача устройству команды (е И;

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

3. Ожидание ответа устройства (выходного сигнала "ответ на команду" ае А);

4.- Если от устройства поступил ожидаемый выходной сигнал аеА, то команда завершена. Если же выходное воздействие а от устройства по истечению времени I не поступило, это означает, что устройство не подключено к управляющей ЭВМ или неисправно.

Кроме того, если в описании механизма взаимодействия с устройством с1 = (Р, К, Б, Я) множество 5*0, то в процессе работы с устройством необходимо осуществлять постоянный контроль за возникновением событий (прихода от устройства выходного воздействия ееЕ). Все эти задачи решаются в МПУУ. Функциональная схема МПУУ представлена на рис. 2

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

устройства ответа на команду а, или же по истечению таймаута I, информация об ¡-й команде удаляется из списка обрабатываемых команд. Поступающие от устройства извещения об изменении внутреннего состояния устройства ек перенаправляются управляющей программе без совершения каких-либо действий внутри МПУУ.

Устройство

и

Блок обработки команды

Диспетчер сигналов

кп

Управляющая программа

МПУУ

Список обрабатываемых команд

Рис. 2 Функциональная схема модуля программного управления

устройством

Работа устройства и блока обработки команды (БОК) могут быть представлены в виде детерминированных конечных автоматов (ДКА), приведенных на рис. 3. и рис. 4 соответственно. Буквами на рисунках обозначены состояния устройства и БОК: А - Устройство ожидает команду;

В - Устройство обрабатывает команду, по завершению генерирует ответ;

С - Устройство находится в состоянии ошибки; Э - Устройство обрабатывает команду, по завершению не генерирует ответа;

Е - БОК ожидает команду или извещение об изменении внутреннего

состояния; Р - БОК ожидает ответа от устройства;

О - БОК ожидает команды восстановления из ошибочного состояния

Цифрами обозначены элементы функций переходов ДКА:

1. Устройству подана команда требующая ответа;

2. Устройству подана команда не требующая ответа;

3. Произошло изменение внутреннего состояния устройства, о чем сгенерировано извещение е|<;

4. Устройство обработало команду, о чем сгенерирован ответ а];

5. Устройство обработало команду, не требующую ответа;

6. При обработке команды ^ произошла ошибка, о чем сгенерирован ответ ац

7. В устройстве произошла ошибка, о чем сгенерировано извещение

8. Устройству подана команда восстановления из ошибочного состояния

9. По истечению таймаута I от устройства не поступил ответ на команду.

Рис.4 ДКА, моделирующий работу блока обработки команды

(1

ек;

Рис.3 ДКА, моделирующий работу устройства

начало

Третья глава посвящена разработке языка TDCL и программной среды для ТНДМ цифровых блоков телекоммуникационного оборудования на основе TDCL.

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

Задача создания лингвистического обеспечения, ответственного за взаимодействие оператора и управляющей устройством ЭВМ, сводится к разработке языка описания управляющих алгоритмов. Этот язык получил название TDCL. Аббревиатура происходит от английского Telecommunications Device Control Language - язык управления телекоммуникационным оборудованием.

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

1. Язык должен быть простым в изучении и использовании.

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

3. Язык должен иметь возможности для расширения.

4. Любая функциональность, связанная со взаимодействием с конкретным оборудованием, должна выноситься во внешние библиотеки. Ядро языка должно быть универсальным по отношению к любому оборудованию.

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

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

составляют подмножество "свойств хорошего языка", приведенных Т. Праттом и М. Зелковицем в своем фундаментальном труде по рафаботке и реализации языков программирования "Языки программирования. Разработка и реализация".

Ядро языка ТЭСЬ содержит традиционные для алгоритмических языков простые типы данных и операторы а также специальные конструкции, предназначенные для взаимодействия с оборудованием в соответствии с описанной во второй главе моделью. ,1

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

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

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

Краткое описание основных составляющих ТОСЬ приведено в

табл. 2.

Таблица 2

Основные составляющие языка ТОСЬ

Группа Описание

Простые типы данных • byte, short, int - целое число; • float - число с плав, точкой; • file-файл; • pool - блок памяти.

Константы • целые десятичные и шестнадцатеричные; • константы с плав, точкой; • строковые константы.

Управление переменными • объявление переменных; • присвоение значений переменным; • переменные могут выступать в качестве операндов в выражениях.

#

i

Таблица 2 (продолжение)

Группа Описание

Операции • изменение знака; • присваивание; • арифметические; • отношения; • битовые; • логические.

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

Внутренние функции взаимодействия с устройством • открытие и закрытие доступа к устройству; • подача команды устройству.

Внутренние функции работы с блоками данных • доступ к элементу по смещению; • заполнение из файла; • запись в файл; • очистка блока.

Внутренние функции текстового ввода/вывода • консольный ввод/вывод; • вывод в текстовый файл.

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

Разработанное лингвистическое обеспечение - язык ТЭСЬ, помогает формализовать описание алгоритма тестирования, настройки и мониторинга оборудования. Подробное описание языка ТОСЬ в виде справочного руководства приводится в Приложении 1. В основном

тексте работы язык описывается при помощи контекстно-свободной грамматики.

Любое лингвистическое обеспечение всегда неотрывно связано с программным обеспечением, реализующим его возможности. Эту роль выполняет программная среда на основе интерпретатора ТОСЬ. Функциональная схема взаимодействия элементов программной среды представлена на рис. 5.

Рис.5 Схема взаимодействия элементов программной среды

Разработчик составляет программу на TDCL, которая загружается в интерпретатор, интегрированный в управляющую консоль. Взаимодействие с устройствами производится через библиотеки доступа, которые в свою очередь связаны с низкоуровневыми средствами обеспечения интерфейса с функциональными блоками системы. Высокоуровневый протокол обмена с устройством реализуется через набор команд TDCL, реализованный в библиотеке. Устройство подключается к управляющей ЭВМ через какой-либо коммуникационный порт (COM, LPT, USB) или же с использованием локальной шины (ISA, PCI). В простейшем случае связь с устройством может осуществляться непосредственно с ЭВМ оператора. Более сложный вариант предполагает использование управляющего вычислительного комплекса (УВК), где ЭВМ оператора взаимодействует с управляющей устройством ЭВМ при помощи

сетевого соединения. В первом случае в роли низкоуровневого средства обеспечения интерфейса может выступать драйвер устройства и/или набор функций библиотеки доступа. Во втором случае наиболее логичным вариантом будет создание системы "клиент-сервер". Серверное программное обеспечение, запущенное на управляющей ЭВМ, отвечает на сетевые запросы со стороны программы-клиента, в качестве которой может выступать управляющая консоль.

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

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

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

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

Структура описываемой программной среды позволяет использовать операторские управляющие программы с графическим пользовательским интерфейсом. Взаимодействие с оборудованием в этом случае реализуется через управляющую консоль. Управляющая графическая программа по установкам оператора генерирует набор команд ТЭСЦ которые подаются в блок интерпретатора управляющих команд консоли и транслируются, как управляющая программа.

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

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

В четвертой главе рассматривается решение при помощи разработанного инструментария двух практических задач:

• диагностики и настройки ИР-блока системы абонентского доступа "КЕЕ А51егР1ех";

• оценки качества связи в канале системы абонентского доступа "КЕЕ Аз1егР1ех" со стороны абонентской станции.

Задача диагностики и настройки ЯР-блока системы абонентского доступа "КЕЕ Аз1егР1ех" представляет собой пример практической задачи, на которой можно показать процесс создания ПО для диагностики и настройки отдельного модуля системы при помощи

разработанного инструментария. ЯР-модуль подсоединяется к ЭВМ оператора через последовательный порт по интерфейсу 118-232. Взаимодействие с устройством производится в синхронном режиме, т.е. следующая команда устройству не может быть передана до того, как будет получен ответ на предыдущую команду. Таким образом, процесс диагностики и настройки ИТ-блока сводится к подаче устройству последовательностей команд в соответствии с заданными алгоритмами, а также анализу ответов ИТ-блока на команды.

Оценка качества связи в канале системы абонентского доступа "КЕЕ А51егР1ех" со стороны абонентской станции осуществляется по интегральном коэффициенту ошибок на бит (ВЕЯ). Абонентская станция (АС) подключается к управляющей ЭВМ через параллельный порт по интерфейсу ЕРР. Взаимодействие с устройством производится в двух режимах - при начальной инициализации АС - в синхронном режиме; во время работы - в режиме прерываний.

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

1. "Петля на ближней АС" - тестовые пакеты ретранслируются непосредственно АС, с которой работает диагностическая система.

2. "Петля на центральной станции (ЦС)" - тестовые пакеты ретранслируются ЦС обратно на АС, их передавшую.

3. "Петля на дальней АС" - тестовые пакеты ретранслируются другой АС.

4. "Крест между двумя АС" - две АС производят синхронный обмен тестовыми пакетами; каждая АС анализирует данные, передаваемые другой АС.

5. "Крест через ЦС" - две АС производят синхронный обмен тестовыми пакетами через ЦС; каждая АС анализирует данные, передаваемые другой АС.

"Крест через ЦС"

Рис. 6 Режимы тестирования качества связи со стороны АС

Процесс тестирования можно условно разделить на 2 фазы: фаза синхронизации и фаза тестирования. Во время фазы синхронизации производится синхронизация последовательности передаваемых и принимаемых пакетов. Во время фазы тестирования производится непосредственно оценка качества связи в канале.

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

Основные результаты работы

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

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

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

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

5. Разработана архитектура инструментальных средств программного тестирования, настройки, диагностики и мониторинга цифровых блоков телекоммуникационных систем на основе языка ТБСЬ. В соответствии с ней создана программная среда для тестирования,

настройки, диагностики и мониторинга цифровых блоков систем фиксированной связи с кодовым разделением каналов.

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

7. При помощи разработанных инструментальных средств решены следующие задачи в рамках разработки системы абонентского доступа "КЕЕ Аз1егР1ех":

• диагностика и настройка ИР-блока;

• оценка качества связи в канале со стороны абонентской станции.

В ходе эксплуатации разработанного инструментария при решении задач по ТНДМ функциональных блоков системы абонентского доступа "КЕЕ Аз1егР1ех" было проведено сравнение решения ряда практических задач при помощи разработанного инструментария и традиционным способом (программирование на языке С++). Это позволило сделать следующие выводы:

1. Объем программного кода на языке ТЭСЬ в 2,5 - 3 раза меньше кода на языке С++, решающего те же задачи.

2. Программа на ТОСЬ более проста и наглядна, чем программа на С++, решающая те же задачи, что позволяет упростить процессы документирования и модификации разработанного ПО.

3. Использование языка ТОСЬ программной среды на основе интерпретатора ТОСЬ позволяет сократить время на разработку тестового ПО в 2-2,5 раза, а также снижает требования к уровню специальной подготовки разработчика тестового ПО.

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

Публикации.

Скоробутов А.Ю. Программное обеспечение для тестирования и диагностики программно-аппаратного комплекса радиосвязи CDMA. // Сб. тезисов докладов VII всероссийской межвузовской научно-технической конференции студентов и аспирантов "Микроэлектроника и информатика - 2000". - М.: МИЭТ, 2000 -с 158.

Скоробутов А.Ю. Организация удаленного графического мониторинга состояния системы радиосвязи CDMA. // Сб. тезисов докладов VIII всероссийской межвузовской научно-технической конференции студентов и аспирантов "Микроэлектроника и информатика - 2001". - М.: МИЭТ, 2001 - с178. Скоробутов А.Ю. Программная диагностика состояния цифровой системы связи со стороны абонентской станции. // Сб. тезисов докладов IX всероссийской межвузовской научно-технической конференции студентов и аспирантов "Микроэлектроника и информатика - 2002". - М.: МИЭТ, 2002 - с134. Скоробутов А.Ю. Особенности реализации программных диагностических комплексов для цифровых систем связи. // Сб. докладов VIII международной научно-технической конференции "Радиолокация, Навигация, Связь". - Воронеж, ВГУ, 2002, том 2 -С1061-1065.

Скоробутов А.Ю. Программные диагностические системы для цифровых телекоммуникационных сетей. // Межвузовский сб. "Научные основы технологий, материалов, приборов и систем электронной техники". - М.: МИЭТ, 2002 - с237-244. Скоробутов А.Ю. Специализированный язык управления, как инструмент для отладки программно-аппаратных систем на этапе интеграции. // Сб. тезисов докладов X всероссийской межвузовской научно-технической конференции студентов и аспирантов "Микроэлектроника и информатика - 2003". - М.: МИЭТ, 2003 -с223.

Скоробутов А.Ю. Построение программной среды для отладки цифровых телекоммуникационных систем на этапе интеграции. // Сб. докладов IX международной научно-технической конференции "Радиолокация, Навигация, Связь". - Воронеж, ВГУ, 2003, том 2 -с! 143-1147.

Скоробутов А.Ю. Программная среда для тестирования телекоммуникационных систем на основе специализированного

языка управления. // Сб. материалов 58-й научно-технической конференции Санкт-Петербургского научно-технического общества радиотехники, электроники и связи имени А.С.Попова, -СПб.: СПбГЭУ "ЛЭТИ", 2003. - с93-95.

Скоробутов А.Ю., Соколов А.Г. "Автоматизация разработки программ для тестирования, настройки и мониторинга цифровых телекоммуникационных систем". Принято к публикации в журнале "Известия вузов. Электроника" в N6 2003 г.

Подписано в печать:

Заказ Хя^/^Тираж 100экз. Уч.-изд.л.^Формат 60x84 1/16. Отпечатано в типографии МИЭТ(ТУ). 124498, Москва, МИЭТ(ТУ).

я

t I À

I «

*

»

i

2¿> с?

»20217

Оглавление автор диссертации — кандидата технических наук Скоробутов, Александр Юрьевич

Введение.

Глава 1. Современные подходы к разработке ПО для тестирования, настройки и мониторинга телекоммуникационных систем.

1.1. Аспекты современного развития телекоммуникационных систем.

1.2. Способы организации тестирования, диагностики, настройки и мониторинга цифровых систем связи.

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

1.4. Существующие методы разработки ПО для систем связи и реализующие их инструментальные средства.

1.4.1. Общие положения.

1.4.2. "Ручное" программирование на языке С++ (или аналогичном).

1.4.3. Программирование на языке С++ с использованием SDK.

1.4.4. Генераторы приложений на основе специализированного языка.

1.4.5. Генераторы приложений на основе визуальных сред.

1.4.6. Выводы.

1.5. Концепция метода разработки ПО при помощи специализированного языка с независимым от оборудования ядром.

1.6. Цели и задачи работы.

1.7. Выводы.

Глава 2. Модель взаимодействия с оборудованием.

2.1. Функциональная модель взаимодействия с устройством.

2.2. Виды взаимодействия с устройством.

2.3. Режимы работы устройства.

2.4. Взаимодействие с устройством из управляющей программы.

2.5. Выводы.

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

3.1. О классификации языков лингвистического обеспечения.

3.2. Требования к специализированному языку.

3.3. Описание языка TDCL.

3.3.1. TDCL как процедурный язык программирования.

3.3.2. Синтаксис языка TDCL.

3.3.3. Описание синтаксиса языка TDCL при помощи контекстно-свободной грамматики.

3.4. Выбор типа языкового процессора для TDCL.

3.5. Программная среда для тестирования, настройки и мониторинга телекоммуникационного оборудования на основе интерпретатора TDCL.

3.5.1. Решаемые задачи и функциональные составляющие программной среды.

3.5.2. Общая структура программной среды.

3.5.3. Управляющая консоль.

3.5.4. Протоколирование данных и утилита графического мониторинга RSMonitor.

3.5.5. Графические операторские утилиты.

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

3.7. Выводы.

Глава 4. Решение некоторых задач тестирования, настройки и мониторинга систем связи

4.1. Диагностика и настройка RF-модуля системы абонентского доступа "КЕЕ AsterPlex".

4.1.1. Общие сведения об RF-модуле.

4.1.2. Механизм взаимодействия УЭВМ и RF-блока.

4.1.3. Модель взаимодействия с устройством.

4.1.4. Алгоритмы настройки и диагностики RF-блока.

4.1.5. Организация настройки и диагностики RF-блока.

4.2. Оценка качества связи в канале системы абонентского доступа "KEE AsterPlex" со стороны абонентской станции.

4.2.1. Общие сведения об оценке качества связи в канале.

4.2.2. Методика проведения тестирования.

4.2.3. Задача синхронизации потоков передаваемых и принимаемых данных.

4.2.4. Измерение и оценка параметров, характеризующих качество связи в канале в режиме тестирования.

4.2.5. Механизм взаимодействия УЭВМ и абонентской станцией.

4.2.6. Модель взаимодействия с устройством.

4.2.7. Организация проведения тестирования.

4.3. Выводы.

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

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

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

В работе проведено сравнение сложности разработки тестового ПО традиционными способами и с использованием предложенного метода. Сделаны выводы о перспективности рассмотренного подхода.

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

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

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

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

Целью диссертационной работы является:

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

• разработка инструментальных средств для создания тестового ПО, реализующего этот метод;

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

Научная новизна работы:

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

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

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

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

Практическая значимость диссертационной работы:

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

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

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

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

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

Внедрение результатов.

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

Личный вклад автора.

Основными из полученных автором результатов, являются:

1. Систематизация требований к разработке тестового ПО для цифровых блоков сетей фиксированной связи с кодовым разделением каналов.

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

3. Разработка специализированного языка TDCL (Telecommunications Device Control Language) описания алгоритмов тестирования, настройки и мониторинга оборудования, а также архитектуры инструментальных средств разработки тестового ПО на его основе.

4. Разработка методики и алгоритмов оценки качества связи в канале системы абонентского доступа "KEE AsterPlex" со стороны абонентской станции.

5. Создание программной среды для тестирования, настройки, диагностики и мониторинга цифровых блоков систем фиксированной связи с кодовым разделением каналов на основе интерпретатора языка TDCL.

6. Решение при помощи созданной программной среды следующих задач в рамках разработки системы абонентского доступа "КЕЕ AsterPlex":

• диагностика и настройка RF-блока;

• оценка качества связи в канале со стороны абонентской станции.

На защиту выносится:

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

2. Язык TDCL, предназначенный для описания алгоритмов тестирования, настройки и мониторинга оборудования.

3. Структура инструментальных средств для создания тестового ПО на основе языка TDCL.

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

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

Апробация работы.

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

Публикации.

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

Структура работы.

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

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

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

В четвертой главе рассматривается решение при помощи разработанного инструментария двух практических задач:

• диагностика и настройка RF-модуля системы абонентского доступа "KEE AsterPlex";

• оценка качества связи в канале системы абонентского доступа "KEE AsterPlex" со стороны абонентской станции.

Решение задач производится в соответствии с методикой, разработанной в параграфе 3.6 третьей главы. Для оборудования, с которым производится взаимодействие, были разработаны:

• алгоритмы взаимодействия верхнего уровня;

• программы на языке TDCL, решающие поставленные задачи при помощи разработанных алгоритмов;

• модель взаимодействия с оборудованием;

• драйвер устройства и/или библиотека доступа.

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

В приложении 1 дается описание языка TDCL в виде справочного руководства.

В Приложении 2 приводится описание команд управления микроконтроллером RF-модуля системы абонентского доступа "КЕЕ AsterPlex".

Приложение 3 содержит тексты программ на TDCL и С++, реализующие алгоритмы взаимодействия с устройствами системы абонентского доступа "KEE AsterPlex".

Благодарности

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

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

Основные результаты работы

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

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

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

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

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

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

7. При помощи разработанных инструментальных средств решены следующие задачи в рамках разработки системы абонентского доступа "KEE AsterPlex":

• диагностика и настройка RF-блока;

• оценка качества связи в канале со стороны абонентской станции В ходе пробной эксплуатации разработанного инструментария при решении задач по тестированию, настройке, диагностике и мониторингу состояния функциональных блоков системы абонентского доступа "КЕЕ AsterPlex" было проведено сравнение решения ряда практических задач при помощи разработанного инструментария и традиционным способом (программирование на языке С++). Это позволило сделать следующие выводы:

1. Объем программного кода на языке TDCL в 2,5 - 3 раза меньше кода на языке С++, решающего те же задачи.

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

3. Использование языка TDCL программной среды на основе интерпретатора TDCL позволяет сократить время на разработку тестового ПО в 2-2,5 раза, а также снижает требования к уровню специальной подготовки разработчика тестового ПО.

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

Заключение

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

Библиография Скоробутов, Александр Юрьевич, диссертация по теме Системы автоматизации проектирования (по отраслям)

1. Авдеев Е.В., Еремин А.Т., Норенков И.П., Песков М.И. Системы автоматизированного проектирования в радиоэлектронике. - М.: "Радио и связь", 1986.

2. Автоматизация проектирования. Сб. научных статей. Выпуск 2. Автоматизация проектирования систем программно-логического управления / под ред. Трапезникова В.А. М.: "Машиностроение", 1990.

3. Автоматизированное проектирование систем управления / под ред. М.Джамишиди, Ч.Дж.Хергета. М.: "Машиностроение", 1989.

4. Ахо А., Сети Р., Ульман Дж. Компиляторы. Принципы, технологии, инструменты. М.: "Вильяме", 2001.

5. Бакланов И.Г. Аббревиатуры, применяемые при измерениях в ИКМ-системах. // Сети и системы связи 1998. - N2

6. Бакланов И.Г. Методы измерений в системах связи. М.: "Эко-трендз", 1999.

7. Бакланов И.Г. Тестирование и диагностика систем связи. М.: "Эко-Трендз", 2001.

8. Бакланов И.Г. Технологии измерений в современных телекоммуникациях. М.: "Эко-Трендз", 1998.

9. Бакланов И.Г. Технологии измерений первичной сети в 2-х частях. -М.: "Эко-трендз", 2000.

10. Бакланов И.Г. ISDN и FRAME RELAY: технология и практика измерений. М.: "Эко-трендз", 2000.

11. Беллами Дж. Цифровая телефония. М.: "Радио и связь", 1986.

12. Берестовая С.Н., Перевозчикова О.Л., Романова В.М., Ющенко E.JI; под ред. Ющенко E.J1. Конструирование систем программирования обработки данных. М.: "Статистика", 1979.

13. Борисов В.И., Зинчук В.М., Лимарев А.Е., Мухин Н.П., Нахмансон Г.С. Помехозащищенность систем радиосвязи с расширением спектра сигналов модуляцией несущей псевдослучайной последовательностью. М.: "Радио и связь", 2003.

14. Боровков А.А. Теория вероятностей. М.: "Урсс", 2003.

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

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

17. Буч Г. Объектно-ориентированный анализ и проектирование. СпБ.: "Невский диалект", 1998.

18. Вендров A.M. Проектирование программного обеспечения экономических информационных систем. М.: "Финансы и статистика", 2000.

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

20. Вильяме А. Системное программирование в Windows 2000 СпБ.: "Питер", 2001.

21. Гольдштейн Б.С. и др. IP-телефония. М.; Радио и связь, 2001.

22. Гребешков А. Ю. Стандарты и технологии управления сетями связи. -М.: "Эко-трендз", 2003.

23. Гук М. Аппаратные средства IBM PC. СПБ.: Питер, 1999.

24. Даленбах Д., Мирошников Д.Г. Единая система технической эксплуатации сети связи // Вестник связи. 1996. - N12. - с. 23-27.

25. Иванова Т.И. Абонентские терминалы и компьютерная телефония. -М.: Эко-Трендз, 1999.

26. Иванова Т.И. Компьютерные технологии в телефонии. М.: "Эко-трендз", 2003.

27. Иванова Т.И. Корпоративные сети связи. М.: "Эко-трендз", 2001.

28. Казеннов Г.Г., Соколов А .Г. Основы построения САПР и АСТПП -М.: "Высшая школа", 1989.

29. Кальянов Г.Н. CASE. Структурный системный анализ (автоматизация и применение). М.: ЛОРИ, 1996.

30. Князев Г.К. Система управления сетью как источник новых доходов //Вестник связи.-2001 -N1. с. 26-29.

31. Компаниец Р.И., Маньков Е.В., Филатов Н.Е. Системное программирование. Основы построения трансляторов. СпБ.: "КОРОНА принт", 2000.

32. Корячко В.П., Курейчик В.М., Норенков И.П. Теоретические основы САПР. М.: "Энергоатомиздат", 1987.

33. Крейнес А. Компьютерная телефония в приложениях. // Открытые системы 1996. - N2. - с.43-47.

34. Крейнес А. Программное обеспечение систем компьютерной телефонии. // Открытые системы 1996. - N4. - с.29-32.

35. Липаев В.В. Проектирование программных средств. М.: "Высшая школа", 1990.

36. Липаев В.В. Системное проектирование сложных программных средств для информационных систем. М.: СИНТЕГ, 1999.

37. Мельникова Н.Ф. Средства измерений для цифровых систем передачи. // Технологии и средства связи 2003. - N3. - с. 24 - 31.

38. Мельникова Н.Ф. Тенденции развития средств измерений электросвязи. // Каталог "Технологии и средства связи", 2003.

39. Невдяев Л.М. Мобильная связь 3-го поколения. М.: "Международный центр НТИ", 2000.

40. Норенков И.П., Маничев В.Б. Системы автоматизированного проектирования электронной и вычислительной аппаратуры. М.: "Высшая школа", 1983.

41. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. СпБ.: "Питер", 2001.

42. Основные положения развития Взаимоувязанной сети связи Российской федерации на перспективу до 2005 г. Руководящий документ. Книга 8. М.: ЦНТИ "Информсвязь", 1996.

43. Официальный сайт компании Natural Microsystems http://www.nmscommunications.com

44. Пратт Т., Зелковиц М. Языки программирования. Разработка и реализация. 4-е издание М.: "Питер", 200246. Рекомендация G.821 МККТТ

45. Рихтер Дж. Windows для профессионалов. 4-е издание М.: Русская редакция "Microsoft Press", 2001.

46. Роджерсон Д. Основы СОМ. М.: Русская редакция "Microsoft Press", 2000.

47. Росляков А.В. и др. Центры обслуживания вызовов (Call Center). -М.: "Эко-трендз", 2002.

48. Скоробутов А.Ю., Соколов А.Г. Автоматизация разработки программ для тестирования, настройки и мониторинга цифровых телекоммуникационных систем. Принято к публикации в журнале "Известия вузов. Электроника" в N6 2003.

49. Скоробутов А.Ю. Особенности реализации программных диагностических комплексов для цифровых систем связи. // Сб.докладов VIII международной научно-технической конференции "Радиолокация, Навигация, Связь". Воронеж, ВГУ, 2002. том 2 -С1061-1065.

50. Скоробутов А.Ю. Программные диагностические системы для цифровых телекоммуникационных сетей. // Межвузовский сб. "Научные основы технологий, материалов, приборов и систем электронной техники". М.: МИЭТ, 2002. - с237-244.

51. Страуструп Б. Язык программирования С++. 3-е издание. СпБ.: "Невский диалект", 2000.

52. Хопкрофт Д., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. 2-е издание М.: "Вильяме", 2002.

53. Эндрюс Г.Э. Основы многопоточного параллельного и распределенного программирования. М.: "Вильяме", 2003.

54. Dialogic. Products & Services guide. 1996.

55. Embley D., Kurtz В., Woodfield S. Object-Oriented Systems Analysis, A Model-Driven Approach. Englewood Cliffs, New Jersy: Yordon Press, 1992.

56. Goad P., Yourdon E. Object-Oriented Analysis, Second Edition, Englewood Cliffs, New Jersy: Yordon Press, 1991.

57. Jhong Sam Lee, Leonard E. Miller CDMA Systems. Engineering Handbook. London: Artech House, 1998.

58. Lakos J. Large-Scale С++ Software Design. Berkeley, California: Addison-Wesley, 1996.

59. Martin J., Odell J. Object-Oriented Analysis and Design, Englewood Cliffs, New Jersy: Prentice-Hall, 1992.

60. Oney W. Programming The Microsoft Windows Driver Model. Redmond, Washington: "Microsoft Press", 1999.

61. Proposed Focused Program on: Operations and Management of Information Networks // National Institute of Standards and Technology Advanced Technology Program. October 1994.http://www.cs.columbia.edu/dcc/classes/E6998-025/References/atpwpf.ps 3.09.2002.

62. Rubin К., Goldberg A. Object Behavior Analysis. // Communications of the ACM vol. 35 (9), September 1992.

63. Тел: +7 (095) 530-0102 Факс: +7 (095) 534-8654 www.kedah.то kedahgkedab. ru kedahgmail.compnet.ru

64. Building 445, 124498, Zelenograd, Moscow, Russian Federation

65. Тел: +7 (095) 530-0102 Факс: +7 (095) 534-8654 www.kedah.ru kedah@kedah ■ ru kedah&nail. coinpnet. ru1. ИНН 7735101696г. Москва, ЗАО "Международный Московский Банк" Р/с № 40702810300010161879, БИК 044525545, к/с 301018103000000005451. АКТ

66. При помощи разработанных инструментальных средств решены следующие задачи в рамках разработки системы абонентского доступа "AsterPlex":• диагностика и настройка RF-блока;• оценка качества связи в канале со стороны абонентской станции.

67. Председатель комиссии д.т.н., с.н.с. Смольянинов В.М.

68. Члены комиссии: к.т.н., с.н с. Дмитриев О Ф.1. К.Т.Н. Корнилов А.Р,1. K.T.H. Иванов П.В.• ^ f/jofi' т- X

69. Московский Государственный Институт Электронной Техникитехнический университет)1. На правах рукописи

70. Скоробутов Александр Юрьевич

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

72. Специальность 05.13.12 «Системы автоматизации проектирования»