Работа посвящена созданию метода и инструментальных средств разработки тестового программного обеспечения (ПО) для систем фиксированной связи с кодовым разделением каналов. Предметом исследования в работе являются способы автоматизации разработки ПО для тестирования, настройки и мониторинга цифрового оборудования рассматриваемого класса телекоммуникационных систем. В работе проведен анализ задач по тестированию, настройке и мониторингу, возникающих на различных этапах разработки оборудования, а также существующих способов создания ПО, решающего эти задачи. Проведенный анализ позволил сформулировать требования к инструментальным средствам разработки тестового ПО и предложить способ разработки тестового ПО на основе специализированного языка высокого уровня с универсальным по отношению к внешнему оборудованию ядром. При таком подходе управляющие алгоритмы описываются в терминах взаимодействия с устройством, что позволяет серьезно упростить процесс разработки тестового ПО.
На основе результатов проведенного исследования созданы инструментальные средства — специализированный язык описания тестовых алгоритмов и основанная на нем программная среда автоматизации разработки ПО для тестирования, настройки и мониторинга состояния оборудования цифровых телекоммуникационных сетей. При создании инструментальных средств сделан акцент прежде всего на задачах, возникающих на этапе автономной разработки блоков, этапе интеграции и во время тестовых испытаний. Однако ввиду схожести ряда задач, разработанный подход и инструментальные средства можно использовать и на других этапах.
В работе проведено сравнение сложности разработки тестового ПО традиционными способами и с использованием предложенного метода. Сделаны выводы о перспективности рассмотренного подхода.
Актуальность работы определяется интенсивным развитием телекоммуникационной отрасли и все возрастающими требованиями к качеству и срокам разработки современных телекоммуникационных систем. Особенностью систем с кодовым разделением каналов является высокая сложность используемых управляющих алгоритмов. «Интеллектуальные» функциональные блоки этих систем сложны в отладке и тестировании. Наиболее сложными этапами разработки системы являются этап интеграции и тестовые испытания. Здесь компоненты системы соединяются в единое целое. При этом выявляются ошибки и просчеты, связанные со взаимодействием составляющих частей системы между собой. Обнаружение их на предыдущих этапах затруднено. Проблема осложняется еще и тем, что подчас бывает довольно трудно определить, какой именно из компонентов системы является причиной некорректной работы системы в целом. Для локализации и выявления ошибок и неисправностей в программно-аппаратных системах широко используется практика применения тестовых алгоритмов в совокупности с использованием средств диагностики, мониторинга, протоколирования и анализа полученных данных. Причем количество тестов, необходимых для полноценного тестирования оборудования, растет с усложнением структуры телекоммуникационной системы.
Многие возникающие здесь задачи имеют жесткую зависимость от конкретного оборудования, что исключает возможность создания полностью универсальных программ, которые можно было бы использовать с любой системой. Довольно часто управляющие алгоритмы создаются непосредственно разработчиками. Однако в процессе реализации алгоритма помимо прочего приходится вновь и вновь решать ряд типовых задачорганизация взаимодействия с устройством через механизмы операционной системы, статистический анализ полученных данных, визуализация результатов и т. д.
Эффективность разработки управляющих программ для телекоммуникационного оборудования во многом зависит от эффективности используемых для этих целей инструментальных средств. Использование для разработки тестового ПО универсальных языков программирования, например языка С++, оборачивается большими трудозатратами на программирование и замедляет процесс разработки системы в целом. Программных продуктов, упрощающих разработку тестового ПО для рассматриваемого класса систем, существует не так много, и ни один из них не решает в полной мере обозначенную проблему. Обычно подобного рода разработки ориентированы на использование с конкретной системой или классом систем, как правило, одного производителя. Кроме того, они ориентированы на решение несколько иных задач — предоставить пользователю системы или стороннему разработчику возможности тонкой настройки или расширения функциональных возможностей готовой системы. Поэтому создание удобных инструментальных средств подготовки управляющих программ, ориентированных в первую очередь на разработчиков телекоммуникационного оборудования, является актуальной задачей.
Решением описанной проблемы является использование специализированного языка, на котором можно было бы просто и быстро составлять программы управления одним или несколькими функциональными блоками системы, оперируя в терминах взаимодействия с устройствами. При этом от разработчика скрываются детали реализации взаимодействия с устройством посредством механизмов операционной системы и некоторые детали визуализации конечных результатов. Таким образом, достигается сокращение трудозатрат на программирование управляющих алгоритмов. Разработчик при этом оперирует в привычных для себя терминах и сконцентрирован непосредственно на решении поставленной задачи — реализации алгоритмов управления телекоммуникационным оборудованием.
Целью диссертационной работы является:
• разработка метода создания тестового ПО для цифровых телекоммуникационных систем с учетом особенностей задач проведения тестирования, настройки, диагностики и мониторинга систем с кодовым разделением каналов на этапе автономной разработки функциональных блоков, этапе интеграции и в процессе тестовых испытаний;
• разработка инструментальных средств для создания тестового ПО, реализующего этот метод;
• разработка методики использования данных инструментальных средств для создания ПО, осуществляющего тестирование, настройку и мониторинг оборудования цифровых систем связи с кодовым разделением каналов.
Научная новизна работы:
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 и программная среда воплотила в себе основные идеи построения инструментов автоматизации разработки управляющего ПО для цифровых телекоммуникационных сетей. В ходе пробной эксплуатации разработанных инструментальных средств удалось достичь существенного упрощения труда разработчика по созданию ПО для тестирования, настройки и мониторинга. Это позволяет добиться экономии трудозатрат на выполнение данных работ. В этом выражается эффект от автоматизации процесса подготовки управляющего ПО.