Содержание к диссертации
Введение
Глава 1. Существующие подходы к построению программно-аппаратных комплексов для тестирования и диагностики 13
1.1. Существующие модели и принципы построения контрольно- проверочных комплексов 15
1 1.1. Спецификация ОРС DA 16
1.1.2. Спецификации классов приборов IVI 20
11.З. Компонентная модель КПК 24
11 .4. Стандарт АВВЕТ 28
1.1.5. Подсистема измерений и стимулов IVI-MSS 29
1.1.6. Проблемно- и сигнал-ориентированные интерфейсы. Интерфейс IVI-ЗГ 35
1.2, Обзор существующих систем для проведения испытаний 44
1.2.1. Специализированные испытательные системы 45
1.2.2. Средства управления отдельными независимыми тестами 46
1.2.3. Интегрированные системы 5 1
1.2.4. SCADA-системы 55
Глава 2. Открытая архитектура контрольно-проверочных комплексов. Сигнал-ориентированный интерфейс для разделения логики гестов и логики управления н сбора данных 59
2.1.. Концепция контрольно-измерительных трактов 62
2.2. Модель контрольно-измерительного тракта: сигнал-ориентированный интерфейс 65
2.3. Реализация интерфейса для платформы СОМ 70
2-4. Менеджер КИ-трактов. Компонентная модель измерительной подсистемы с использованием КИ-трактов 80
2,5. Интерфейсы менеджера КИ-трактов 85
Глава 3, Средства поддержки разработчика контрольно-измери гельных трактов 89
3.1. Библиотека шаблонов сигналов (Signal Template Library) 89
3.LL Структурные классы 91
3.1.2. Классы реализации 94
3.2. Приложение для моделирования КИ-трактов 100
3-3. Генератор кода КИ-трактов 103
3.3Л. Интерфейс генератора исходного кода КИ-трактов 103
3-3.2. Алгоритм работы генератора кода КИ-трактов 106
3.3.3. Использование генератора кода КИ-трактов 108
3.4. Верификатор КИ-трактов 110
3.4.1. Интерфейс верификатора КИ-трактов ПО
3.4.2-Алгоритм работы верификатора КИ-трактов і 15
3.4.3. Использование верификатора КИ-трактов 116
3.5. Просмотр КИ-трактов 118
Глава 4. Методика разработки контрольно-измерительных трактов 121
4.1, Техническое задание на КПК 126
4.2. Модели КИ-трактов 129
4.3- Генерация кода КИ-тракта 132
4.4. Графический интерфейс пользователя 135
Глава 5. Применение открытой архитектуры на основе интерфейса контрольно-измерительного тракта при разработке контрольно-проверочных комплексов 138
5.1. Проблемы, специфичные для испытаний космической техники 138
5.2. Основные требования к контрольно-проверочному комплексу 141
5.3. Структура контрольно-проверочного комплекса 144
5 А Моделирование КИ-трактов КПА-ВФ 147
5.5. Использование моделей 148
5.6. Интерфейс пользователя 150
5.7. КИ-тракты в составе КПА-В 151
5.8- Программное обеспечение КПА-В 156
Заключение 160
Основные результаты 162
Литература
- Существующие модели и принципы построения контрольно- проверочных комплексов
- Концепция контрольно-измерительных трактов
- Библиотека шаблонов сигналов (Signal Template Library)
- Техническое задание на КПК
Введение к работе
В настоящее время одним из основных требований, предъявляемых к большинству создаваемых технических объектов, является надежное і ь (отказоустойчивость), т.е. способность объекта сохраняіь свою функциональность под влиянием широкого спектра воздействий на протяжении заданного временного интервала. Удовлет ворить э гому требованию невозможно без проведения масштабных функциональных и метрологических проверок. Испытания (тестирование и диагнос і ика) являются неотъемлемым этапом в развитии любой созданной человеком системы [1], С ростом сложности самих систем растут также и расходы па их тестирование. В результате эти расходы могут даже превышать вес остальные производственные затраты. Наличие контрольно-проверочных комплексов (КПК) или испытательных стендов - необходимое условие для успешного ввода в эксплуатацию сложных технических объектов, имеющих большое количество критичных параметров, К таким техническим обьекіам можно отнести многие современные средства вооружений, аэрокосмическую технику, объекты ядерной энергетики и химического производства. КПК для таких объектов контроля обычно проектируются и создаются параллельно разработке самих объектов. Также КПК в том или ином виде использую і ся на многих этапах разработки новых систем, в том числе при проведении автономных испытаний, приемо-сдаточных испытаний, испытаний входною контроля и комплексных испытаний.
Современные КПК сложных технических объектов включают в себя большое количество разнообразной измерительной аппараіуріп, управляющие ЭВМ, средства коммуникации с объекюм коп іроля, специализированные программные средства. При создании таких КПК возникает множество проблем, в числе которых согласование большою количества разнообразных аппаратных и программных протоколов, по которым осуществляется взаимодействие между подсистемами внутри комплекса. Одним из способов снижения затрат на испьиания в эюм случае
является создание и использование испытательной базы общего назначения, включающей в себя как аппаратные, так и программные средства поддержки испытателя.
Контроль и диагностика в настоящее время превратились в одну и і важнейших задач, возникающих при создании сложных объектов. Во всех технически развитых странах предпринимаются попытки унифицирован* процессы разработки и эксплуатации сложных КПК, повысим» коїффицисш повторно используемых аппаратных и программных элементов, создать технологию разработки надежных, открытых к расширению исиьітаїельньїх стендов. Создание и применение подобных технологий обещает повысшь общую эффективность высокотехнологичных отраслей, расширить сферы применения сложной техники- Более того, очевидно, что дальнейший прогресс в данных областях невозможен без широкого применения средсів автоматизации при подготовке и проведении испытаний.
Основные проблемы, возникающие при разработке сложных
испытательных стендов
Базовым источником исходных данных для проектирования и создания КПК является перечень сигналов (контролируемых парамеїров и стимулирующих воздействий), характерных для заданного объекта контроля [2,3]. Для многих современных средств вооружений и аэрокосмической техники подобные перечни могут содержать со і ни и тысячи сигналов различной природы (аналоговых и цифровых) [4]. Выбор аппаратных средств, на которые будут возложены задачи обрабоїки входных/выходных сигналов объекта контроля, диктуется і ем обстоятельством, что для создания автоматических и автоматизированных испытательных стендов необходимым условием является применение аппаратных средств с программным управлением. Недостатка в контрольно-измерительных приборах, обеспечивающих измерение или кон і роль необходимых физических (логических) параметров и управляемых
программно через снеди мш&іро вши ые интерфейсы, не ощущасіх^ Подобная аппаратура производится и в Росши, и ж рубежом. Основная сложность здесь - отсутствие ж&ж аппаратной, так и ііроіраммний унификации измерительных средств различные производителей между
Рис. 1. При ра'їработке КПК традиционными методами каждый рш приходится согїданшьігроіргщмноеобеспечение ;МШ СТЫКОВКИ рШЛИЧНЫХ
подсистем комплекса.
Вследствие этого разработчик КІІК должен самостоятельно рошшь проблемы аппаратной я проірамшой стшшшш измерительных приборов в рамйх системы (рис. 1). В такой ситуаций разработчик КПК вынужден разрабатывать вес& спектр програшного обеспечения (ПО) - от уровня отдельных рриборов до уровня приложений, исполняющих программы испытаний. В результате получается узкоспециализированная система, возможности модореішции ш расширение которой сильно ограничены:.
Еще более сложная еитуащш возникает при участии в создании испытательного стенда нескольких коллективов разработчиков. Подобная ситуаций встречается достаточно часто, так кж в состав объектов котролн могут входить разнородные подсистемы, проектирование и разработку контрольно-проверочной аппаратуры (КПД) для которых іюлесообрладо поручить орг&шоацмзш, специализирующимся в соответствующих областях-
Серьезные трудности возникают уже на этапе разработки технических заданий для разработчиков КПА. Если для интеграции различных приборов к рамках КПА достаточно определиться с приборными интерфейсами, представленными на рынке, то для интеграции нескольких КПА в единый КПК необходимо для каждой подсистемы разработать, согласова і ь и реализовать протокол взаимодействия. Если протокол для каждой КПА уникален, то значительно увеличиваются трудозатраты и снижаеюя надежность системы в целом, поскольку увеличивается вероятность допущения ошибок в самих протоколах и реализациях алгоритмов ПО, работающего на их основе.
Одним из распространенных способов решения описанных проблем является использование в рамках КПК аппаратных и программных решений одного производителя (зарубежного или отечественного). Такой подход "привязывает" разработчиков объекта контроля и соответствующею КПК к конкретному производителю контрольно-измерительной аппаратуры, чю имеет множество негативных последствий. Более комплексным решением является разработка, стандартизация и использование единой проіраммной модели контрольно-измерительных подсистем в составе тестовых и диагностических комплексов.
По оценкам одной из ведущих компаний в области разрабо \ ки аппаратного и программного обеспечения для проведения испьпаний National Instruments [5], при создании программно-аппаратных комплексов для тестирования и диагностики 30% затрат ресурсов составляет разрабо і ка программного обеспечения комплекса и 27% - системная интеграция. Таким образом, одними из наиболее приоритетных задач являются задачи создания ПО общего назначения для облегчения разработки новых КПК, программных средств для упрощения интеграции существующих тестовых и диагностических средств в рамках одного КПК, а также создание методик и соответствующего программного обеспечения для автоматизации процессов
проектирования и разработки сложных контрольно-проверочных комплексов.
В связи с этим, целью диссертационной работы является разрабоїка улучшенной, по сравнению с существующими, модели контрольно-измерительных подсистем контрольно-проверочных комплексов, а ткжс архитектуры, объединяющей данные подсистемы в единый комплекс. Разрабатываемые модель и системная архитектура должны обеспечиваїь интеграцию в единый контрольно-проверочный комплекс как существующих программно-аппаратных средств, так и вновь создаваемых. Должны бып> разработаны методика создания, интеграции унифицированных контрольно-измерительных подсистем и специализированные программные средства для автоматизации этапов проектирования и разработки контрольно-проверочных комплексов.
Актуальность темы. Использование автоматизированных контрольно-проверочных комплексов позволяет значительно упросіміь тестирование и диагностику сложных технических систем в ходе разработки и эксплуатации последних. Автоматизация процедур разработки и интеграпии подсистем в составе КПК позволяет, в свою очередь, существенно снизить заіраіьі на создание этих КПК за счет возможности использования при создании КПА широкого спектра аппаратных и программных средств различных производителей. Это особенно важно в современных условиях, коїда стоимость создания КПК может превышать остальные производственные расходы по созданию объекта контроля.
Научная новизна. На основе анализа существующих моделей тестовых и диагностических систем и проблем, возникающих при их реалиіации, предложена модифицированная сигнал-ориентированная модель проведения испытаний, согласно которой все взаимодействия между КПК и объекюм контроля представляются в виде измерения параметров и выдачи управляющих команд на объект контроля, т.е. в виде передачи сиі налов между КПК и объектом. В рамках данной сигнал-ориентированной модели
предложена архитектура для построения контрольно-измерительных подсистем КПК, основанная на концепции контрольно-измершельных трактов (КИ-трактов) - программных модулей, абстрагирующих программное обеспечение КПК от низкоуровневых операций с той или иной КПА за счет использования сигнал-ориентированного интерфейса. Научная новизна состоит в следующих результатах:
в отличие от исходных моделей, ориентированных на описание и управление измерительной аппаратурой, разработанная сиінал-ориентированная модель имеет более высокий уровень абстракции и предназначена для описания контрольно-измерительных трак юн в терминах сигналов, подаваемых на входы и измеряемых с выходов объекта контроля с помощью данных трактов;
разработана методика создания контрольно-измерительных гракюи, включающая моделирование КИ-трактов, автоматическое создание начального исходного кода КИ-трактов на основе модели, а іакже верификацию готовых трактов на соответствие первоначальной модели;
создана библиотека программных среде і в для авіомаїизации всех этапов разработки контрольно-измерительных трактов в соотвеїсівии с предложенной методикой.
Практическая ценность. Предложенные методика и библиоіека поддержки позволяют строить тестовые комплексы различных уровней сложности: от простых испытательных стендов до тестовых сие і см промышленного назначения. Для этого, в частности, разработаны среде і на, облегчающие масштабирование и увеличение производительности сие і емы в целом за счет размещения отдельных компонентов системы на нескольких компьютерах. Использование разработанных средств позволяют сократи \ ь затраты на создание сложных КПК.
Апробация работы. Основные результаты работы докладывались и обсуждались: на Первой научно-технической конференции
"Метрологическое обеспечение испытаний вооружения и военной техники1' (Москва, февраль 2002 г.), на Всероссийской научно-технической конференции "Информационные системы и технологии" (Н, Нові ород, апрель 2002 г. и апрель 2003 г.), на конференциях "Меі ролої ическое обеспечение обороны и безопасности в РФ" (Москва, ноябрь 2002 г. и сентябрь 2004 г.), на Международном симпозиуме "Аэрокосмическис приборные технологии", (Санкт-Петербург, сентябрь 2002 г.). Резулыаш работы использовались при разработке в НИФТИ ННГУ тес і овых комплексов по следующим хоздоговорам и грантам:
Хоздоговор с ФГУП НПО "Орион" на разработку, изготовление и ввод в эксплуатацию контрольно-проверочного комплекса (КПК) аппаратуры 14Р511. Разработанный КПК успешно прошел приемосдаточные испытания и введен в эксплуатацию. Резульїаіьі рабо t ы внедрены и использовались в НПО "Орион" на стадиях отладки, комплексных и приемо-сдаточных испытаний аппаратуры 14Р511.
Хоздоговор с ФГУП КБ "Арсенал" на разработку, изготовление и ввод в эксплуатацию АПК-АКПА "Лиана".
Грант Рособразования по программе "Развитие научного потенциала высшей школы", подпрограмма "Прикладные исследования и разработки по приоритетным направлениям науки и техники". Задание - "Аппаратно-программный комплекс для стендовых исиьпаний бортовых систем космических аппаратов".
Основные положения, выносимые на защиту
1. Модифицированная сигнал-ориентированная модель и
соответствующий программный интерфейс для унификации
взаимодействия с контрольно-измерительными подсистемами. 2- Архитектура для построения сложных многомодульных кончролыю-
проверочных комплексов с использованием предлагаемой синіал-
ориентированной модели.
3. Программные средства для автоматизации разработки конірольно-
измерительных трактов.
4. Методика разработки контрольно-измерительных трактов.
Содержание работы. Диссертационная работа состоит из введения, 5
глав, заключения, списка использованных источников и одного приложения.
Первая глава содержит обзор существующих в настоящее время подходов и моделей построения программно-аппаратных комплексов для тестирования и диагностики технических систем. Обсуждены особенносіи, достоинства и недостатки каждого из подходов. В главе также приведен обзор существующих программных продуктов, являющихся основными представителями каждого из типов испытательных систем. Расемоіреньї такие типы испытательных систем, как специализированные системы, средства управления независимыми тестами, интегрированные системы и SCADA-системы.
Во второй главе рассматривается предлагаемая архитектура контрольно-проверочных комплексов, в основе которой лежит разделение кошролыю-проверочных систем на тестовое программное обеспечение (тестовые и диагностические программы) и логически обособленные подсистемы (контрольно-измерительные тракты, далее КИ-тракты), имеющие в своем составе контрольно-измерительную аппаратуру и управляющее программное обеспечение. Обсуждаются возможности унификации про і околов взаимодействия с аппаратными и программными средствами в составе контрольно-проверочного комплекса с использованием сигнал-ориентированной модели. Описывается предлагаемая сиі пал-ориентированная модель КИ-трактов, а именно: основные сущпосш модели и связи между ними, а также реализация программного интерфейса модели для платформы Microsoft COM/DCOM. В конце главы приведено описание предлагаемой компонентной модели контрольно-измерительных подсисіем, основанной на концепции менеджера контрольно-измерительных трактов.
Третья глава посвящена созданным программным средствам для автоматизации проектирования и разработки контрольно-измерительных трактов, в числе которых: библиотека шаблонов сигналов (SiTL), баїа данных для моделирования КИ-трактов, генератор кода КИ-трактов, верификатор КИ-трактов, а также программа с обобщенным графическим интерфейсом пользователя для взаимодействия с КИ-трактами.
В четвертой главе приводится описание методики разрабо і ки контрольно-проверочных комплексов на основе предложенной архитекіурьі. В начале главы представлен процесс разработки контрольно-проверочною комплекса с указанием для каждого шага регламентирующих ею государственных стандартов Российской Федерации. Предлагался соответствующая данному процессу методика разработки конірольно-проверочных комплексов на основе интерфейса КИ-трактов. В оставшейся части главы приведен пример разработки по данной методике контрольно-проверочного комплекса на основе реально существующего техническою задания (с использованием рассмотренных в третьей главе средств).
Пятая глава содержит описание применения предложенной архитектуры, методики и средств разработки в существующем проекте по созданию контрольно-проверочного комплекса для тестирования космическою аппарата,
В заключении содержится краткая сводка основных результате и выводы.
В приложении А приведено описание всех интерфейсов разработанных програмных средств с использованием языка IDL.
Существующие модели и принципы построения контрольно- проверочных комплексов
Как уже было сказано во введении, одной из базовых проблем, возникающих при интеграции контрольно-проверочной аппаратуры в комплекс, является отсутствие унификации программных драйверов аппаратуры. В связи с этим, при отсутствии программного обеспечения и интерфейсов для интеграции контрольно-измерительных подсистем в составе комплекса каждый программный компонент, работающий с апнараіурой, должен включать в свой состав код для взаимодействия с драйвером того или иного прибора. Данная проблема фактически распадается на две:
1. Различные программные драйверы могу і, вообще юворя, представлять различные программные интерфейсы для взаимодействия с приборами. Иными словами, драйверы мої у і представлять контролируемые устройства в виде различных моделей, например, низкоуровневых регистровых моделей или более высокоуровневых моделей, управляемых символьными с і роками (командами). Для краткости будем далее называть эту проблему проблемой разных интерфейсов.
2. Организация взаимодействия с разными устройствами, пусіь даже схожими по функциональности и имеющими одинаковый драйвер, требует в общем случае написания разного управляющего кода. Ьолее того, в одинаковых условиях разные приборы одного и того же класса также могут давать различные результаты из-за особенности реализации- Например, два анализатора спектра могу і имеїь различные задержки, требуемые для проведения анализа, в связи с чем замена одного анализатора на второй потребует изменения в управляющей программе. Эту проблему будем называть проблемой разных откликов.
В следующих параграфах будут рассмотрены существующие подходы к решению данных проблем.
Стандарт ОРС [6] (OLE for Process Control - протокол привязки и внедрения объектов для контроля процессов) представляет собой набор спецификаций протоколов, предназначенных для управления передачей данных от промышленных устройств сбора информации (как правило, первичной) к устройствам вторичной обработки и графического отображения информации. Реализация всех спецификаций, входящих в данный стандарт базируется на платформе COM/DCOM корпорации Microsoft. На данный момент в состав стандарта входят следующие спецификации: - ОРС Data Access (или ОРС DA): спецификация основного проюкола для доступа к данным в реальном времени; - ОРС Alarms & Events: спецификация протокола передачи сообщений, уведомлений о событиях и сигналах тревоги; - ОРС Batch: спецификация интерфейсов для пакетной обрабогки заданий; - ОРС Data eXchange: спецификация протокола обмена данными между серверами; - ОРС Historical Data Access: спецификация протокола досіупа к данным, сохраненным в архивах (в отличие от ОРС DA, который связан с данными реального времени); - ОРС Security: спецификация протокола защиты и контроля доступа к серверам данных ОРС; - ОРС XML-DA: спецификация протокола с более расширенными (по сравнению с ОРС DA) возможностями разметки данных на базе языка XML, Предназначен для облегчения интеграции с Web-службами (Web-services) Microsoft и с серверами, работающими по протоколу SOAP (Simple Object Access Protocol, протокол простого досіупа к объектам); - ОРС Complex Data (находится в разработке): дополнение к спецификациям DA и XML-DA, позволяющее серверам ОРС оиишваїь
Тем не менее, несмотря на то, что спецификация ОРС DA позволяем решить задачу унификации программных интерфейсов различных контрольно-измерительных устройств и даже интегрировать существующие программно-аппаратные системы, данная спецификация обладает рядом недостатков:
1. Несмотря на простую модель сервера ОРС DA количество входящих в нее интерфейсов слишком велико для такой задачи, как прости съем данных с устройств,
2. Спецификация ОРС DA по своей сути предназначена для организации однонаправленного потока данных от устройств к клиентским приложениям. Для организации полноценного двунаправленною обмена данными и командами сервер должен дополни іельно реализовывать спецификацию ОРС Commands, а для организации передачи уведомлений об асинхронных событиях - спецификацию ОРС Alarms & Events.
3. В рамках ОРС DA клиент может получать отизмериіельньїх подсисіем лишь поток простых примитивов данных (например, массивы данных типа long, float, double и т.п.). Дополнительные атрибуты, такие как единицы измерения, диапазоны изменения и т.д. могут быть заданы лишь неявно через объекты свойств данных, а также через реализацию дополнительных спецификаций ОРС XML-DA и ОРС Complex Data.
4. Спецификация ОРС DA не предоставляет клиентскому приложению средств для обнаружения и выбора в сети сервера, предоставляющего необходимые данные - клиент должен точно знать, к какому серверу ему необходимо подключаться.
Концепция контрольно-измерительных трактов
Определим термин "контрольно-проверочная аппаратура" как набор контрольно-измерительных средств (аппаратура и ПО), предназначенных для решения определенной задачи (например, для проверки некоюрои подсистемы объекта контроля) [51-53]. Как было сказано выше, сложный КПК может иметь в своем составе один и более комплексов КПА, управление которыми осуществляется с помощью специализированных протоколов (далее протоколы КПА). Зачастую большое количес і но и сложность протоколов КПА затрудняют разработчикам КПК интеграцию различных КПА в единую систему и создание программ автоматическою и/или автоматизированного контроля. Унификация протоколов взаимодействия с КПА как минимум в рамках одной КПК сущссівенио упрощает процессы проектирования, создания и эксплуатации сложных КПК, Производители испытательных стендов (например, ARINC, IYX) неоднократно предпринимали попытки унифицировать протоколы КПА в рамках отрасли, но до сих пор преобладает корпоративная унификация.
Совокупность определенной КПА и соответствующей реализации сигнал-ориентированного протокола определим как контрольно-измерительный тракт (КИ-тракт). Все взаимодействие прої раммної о обеспечения тестовых и диагностических программ с обьекюм контроля должно производится только через КИ-тракты (рис. 15).
Помимо жестко заданного интерфейса при проекшровании конкретного КПК для каждого КИ-тракта также специфицируется ЄІО поведение и отклики в различных ситуациях. Если впоследствии замела аппаратной части КИ-тракта может привести к изменению его поведения, ю программная часть КИ-тракта должна быть также изменена таким образом, что бы весь КИ-тракт в целом по-прежнему соответствовал исходной спецификации. Иначе говоря, поведение КИ-тракта должно бьпь инвариантно относительно изменения его составляющих. Такой подход схож с концепцией модулей управления ролями (RCM) спецификации IVI-MSS,
Тем не менее, из обзора также следует, что даже наиболее перспекіивная из таких моделей - модель IVI-SI, стандартизуемая организацией IVI, объединяющей ведущих разработчиков аппаратного и прої раммної о обеспечения для тестирования и диагностики - имеет ряд серьезных недостатков и до сих пор не утверждена. В связи с этим одной из целей данной работы является разработка улучшенной сигнал-ориеншрованной модели, лишенной недостатков, присущих модели IV1-SI. Предлаїаемая модель обсуждается в следующем параграфе.
Определим исходные требования к сигнал-ориентированной модели для обеспечения взаимодействия тестовых и диагностических проірамм с объектом контроля [54]:
1) модель должна представлять довольно высокий уровень абстракции: используемые при описании модели термины должны, с одной стороны, быть взяты из области тестирования и диагностики, но, с другой стороны, не должны отражать специфику проведения испытаний конкретной технической системы. Таким обраюм, желательно, чтобы в терминах модели можно было описаіь исиьпания любого объекта контроля;
2) модель должена быть достаточно простой и в то же время леї ко расширяемой, т.е. при добавлении поддержки новых возможное і ей должна изменяться как можно меньшая часть модели. Это позволи і не модифицировать большую часть тестовой системы.
Определим основные сущности модели, их атрибуты и операции, а также связи между ними.
Основной сущностью при использовании сигнал-ориентированного подхода является сигнал, который представляет собой модель физической величины, зависящей от пространственных, временных или иных параметров.
Рассмотрим возможные атрибуты сигнала. Во-первых, каждый сигнал в системе должен иметь уникальный, отличающий его от остальных идентификатор. Наиболее простым вариантом такого иденіификаїора является текстовая строка - имя сигнала. Примерами имен сигнала мої у і служить мнемонические обозначения выполняемых действий ("Включи і ь питание" и т.п.) или названия измеряемых параметров ("Центральная частота"). Помимо имени каждый сигнал ассоциируется с одной или несколькими ролями, а также может содержать несколько значений.
Библиотека шаблонов сигналов (Signal Template Library)
Описанный в предыдущей главе сигнал-ориентированный интерфейс представляет довольно строгую иерархию объектов. В связи с этим, каждая реализация КИ-тракта должна будет содержать однотипный код поддержки данной структуры объектов. Вынесение этого кода в отдельную хорошо отлаженную библиотеку облегчит разработку новых КИ-тракчов, а іакжс повысит надежность системы в целом.
Технология DCOM, выбранная в качестве базовой платформы для реализации КИ-трактов, является языконезависимой, т.е. компоненты СОМ могут разрабатываться с использованием любых языков, компиляторы которых поддерживают двоичный стандарт СОМ Описанная в данном параграфе библиотека шаблонов сигналов Signal Template Library (Sill.) предназначена для разработки КИ-трактов с использованием языка C++. Код библиотеки совместим со стандартом C++ [60] и коррекіно обрабаїьіваеіся компилятором среды Microsoft Visual C++ 6.0.
Большая часть атрибутов объектов КИ-тракта известна во время компиляции и не изменяется во время выполнения. Это позволяет задать ли атрибуты в виде некоторых константных объектов C++. Большиисіво действий (таких как перечисление вложенных объектов или возвращение атрибутов), выполняемых методами объектов КИ-тракта, также хорошо определены самой спецификацией интерфейса и могут быть вынесены и библиотеку. Таким образом, разработчику остается только определи і ь общую иерархию объектов и запрограммировать функциональное іь конкретных сигналов.
Библиотека SiTL базируется на библиотеке активных шаблонов Microsoft (Active Template Library, ATL) и состоит из шести заголовочных файлов: - sitl__vararray.h: содержит набор шаблонов-оберток для облеіченіш работы с безопасными массивами SAFEARRAY; - sitl_except.h: содержит определения классов исключений, генерируемых библиотекой SiTL; - sitl_aux.h: содержит классы-утилиты для облегчения работы с реесіром и с типом данных VARIANT; - sitI_info.h: содержит набор структур для хранения информации о шпах и атрибутах создаваемых объектов КИ-тракта; - sitlbase.h: содержит базовые классы, реализующие основные меюды интерфейсов КИ-тракта; - EventHandlerProxy.h: содержит вспомогательные классы для упрощения генерации событий КИ-трактов.
Все входящие в состав библиотеки SiTL классы можно условно разделить на три группы: - структурные классы {файл sitlinfo.h) - классы для хранения информации о типах и атрибутах объектов КИ-тракта, а также классы для этих создания объектов; - классы реализации (файл sitl_base.h) - классы, реализующие меюды интерфейсов КИ-трактов и образующие иерархию объектов КИ-тракіа во время исполнения; - вспомогательные классы (остальные файлы) - классы для упрощения часто производимых операций (преобразования данных между различными типами, преобразование исключений C++ в информацию об ошибках СОМ и т.д.). Файлы sitl_info.h и sitl_base.h содержат также определения макросов, используемых при описании структуры КИ-тракта в тексте программы. Рассмотрим подробнее классы первых двух групп.
Техническое задание на КПК
Из приведенного фрагмента ТЗ видно, что аппаратное и программное обеспечение КПК должно предоставлять возможность работать с сигналами в довольно широком частотном (от 20 Гц до 130 МГц) и временном (от 10 не до 10 с) диапазонах, а также обеспечивать их визуализацию и предоставляїь возможность измерения различных характеристик (частоты, периода, амплитуды) для проведения анализа. Согласно предложенной методике, следующим шагом после рассмотрения технического задания являеіея моделирование составляющих КПК КИ-трактов.
В рамках предложенной архитектуры и методики на основе 13 моделируется КПК (в виде составляющих его контрольно-измерительных трактов); полученная модель при необходимости утверждается, Рассмоірим пример моделирования входящих в состав КПК КИ-трактов на основе приведенного выше ТЗ Проведя анализ приведенного технического задания можно сдела і ь вывод о необходимости разработки и введения в состав КПК двух КИ-трактов: одного для измерения амплитудно-временных параметров (таких как период следования импульсов, их длительность, амплитуда и ьд.) и второго для измерения частотных характеристик сигналов. Назовем ош КИ-тракты "КИА АВП1 (контрольно-измерительная аппараіура для измерения амплитудно-временных параметров сигналов) и "КИА ЧВП" (конірольпо-измерительная аппаратура для измерения частотно-временных параметров сигналов). После этого можно переходить к моделированию самих трактов
Моделирование КИ-трактов заключается в определении входящих в их состав сигналов, значений каждого из сигналов, а также в определении шпов данных (целые, вещественные и т.п.), единиц измерения (вольты, секунды) и размерности данных (скаляр или массив) каждого из значений. Все эш атрибуты сохраняются в базе данных моделей КИ-трактов.
На любом этапе процесса моделирования, а также по его окончании по модели можно сгенерировать документ с описанием КИ-тракта, Данный документ может использоваться при согласовании и/или утверждении модели КИ-тракта всеми заинтересованными сторонами, например, проектировщиком КПК, разработчиком КИ-тракта и заказчиком (представителем заказчика). Ниже для примера приводится выдержка из документа "Описание контрольно-измерительного тракта "КИА АВП" ", автоматически сгенерированного по модели КИ-тракта, сохраненной в базе данных:
Необходимо отметить, что данный автоматически созданный докумені также является и частью эксплуатационной документации. Это позволяеі автоматически поддерживать соответствие между документацией, моделями и кодом при внесении каких-либо изменений. Возможность генерирован* подобные документы важна также по той причине, что в сложных КИ-трактах число сигналов может измеряться десятками, а число их значений -сотнями, что сильно увеличивает вероятность возникновения ошибок при создании документации вручную.
Существенно и то, что терминология, используемая в модели (а, следовательно, и в генерируемых документах или коде), совпадает с используемой в проектной документации. Использование единой терминологии значительно упрощает взаимодействие между всеми участниками процесса разработки КПК, например, при проведении проверок соответствия между входными (ТЗ на КПК) и выходными документами или при проведении согласования вносимых в КПК изменений.