Лекции. Системы реального времени (2015) (all in one) (1185224), страница 11
Текст из файла (страница 11)
ТСКопределяет состав и последовательностьвыполнения тестов.С каждым ТСК связаны: имя (определяет тип ТСК) описание сообщений КБИ с указанием их структуры описание тестов39Структура ТСКЗаголовок ТСК определяет состав интерфейсов,состав и структуру сообщений КБИ, состав тестови их привязку к требованиямТело ТСК определяет состав и логику выполнениятестовых случаев и тестовых шагов40Интерфейсы ТСКИнтерфейс – это объект средств ФТ,предоставляющий программный интерфейс длявзаимодействия ТСК с натурными блоками ИУС,а также друг с другом Интерфейсы обеспечивают доступ ТСК к адаптерам КБИ Через интерфейсы обеспечивается передача и приемсообщений41Сообщение MIL STD-1553BСообщение MIL STD-1553B – это объект средствФТ, соответствующий сообщению бортовогоинтерфейса MIL STD-1553B.С каждым сообщением связаны:имяинтерфейс MILSадресподадресС отдельными словами в составе сообщенияможно работать как с элементами массива.(сообщения для других типов интерфейсовустроены аналогично)42Сообщения MIL STD-1553BRTS_OUTPUT_MESSAGE (<имя>,<интерфейс MILS>,<адрес>,<подадрес>,<кол-во слов в сообщении>,<период в мс>)RTS_INPUT_MESSAGE (<имя>,<интерфейс MILS>,<адрес>,<подадрес>,<кол-во слов в сообщении>,<период в мс>)RTS_OUTPUT_ / RTS_INPUT_TERM_MESSAGE (<имя>,<интерфейс MILS>,<подадрес>,<кол-во слов в сообщении>)43Битовые поля и БитыБитовое поле – это объект средств ФТ,соответствующий группе последовательных битовв составе слова сообщения.Бит – это битовое поле, соответствующее 1 биту.С каждым битовым полем связаны: имя позиция в сообщении (номер первого слова, номерначального бита, кол-во битов) признак использования знакового или беззнакового поля коэффициент масштабирования (ЦМР)С битовым полем можно работать как с числовойпеременной.44Битовые поля и битыRTS_BITFIELD (<имя поля>,<имя сообщения>[<номер слова>],<начальный бит>,<кол-во битов>)RTS_BOOLEAN (<имя поля>,<имя сообщения>[<номер слова>],<позиция бита>)45Задание иерархическогоидентификатора тестаИдентификатор теста задается в формате:<имя 1>.<имя 2>....<имя n>Например:«Су35.СОЛС.Наземный_контроль.17»RTS_TESTNAME (“<имя теста>” )RTS_TESTNUM (<номер теста>)RTS_TEST_SHOW ()RTS_TEST_PASSED ()RTS_TEST_FAILED ()46Задание соответствия требованийидентификаторам тестовRTS_DOCUMENT(“<requirement specification document name>”,RTS_REQUIREMENT(<requirement identifier>, “<requirementname>”),RTS_REQUIREMENT(<requirement identifier>, “<requirementname>”),…)RTS_TESTSPEC (“<test name (or name template)>“,<requirement identifier>, <requirement identifier>, ...)47Задание соответствия требованийидентификаторам тестовПример:ЗаголовокRTS_DOCUMENT( “Board computer system initialization”,RTS_REQUIREMENT(BCS.INIT.START, “Starting up MIL STD-1553Bsubscribers”),RTS_REQUIREMENT(BCS.INIT.WORK, “Starting BCS operation mainloop”),)RTS_TESTSPEC (“3.2.{1-4}“, BCS.INIT.START)RTS_TESTSPEC (“3.2.{1-4}“, BCS.INIT.WORK, BCS.SKV.WORK)ТелоRTS_TESTNAME(3.2.2)// логика тестового шага48Временная задержка, отправка данных// Задержать выполнение теста на заданное времяRTS_DELAY (<duration (ms)>)// Выдать сообщение в канал (для активных абонентов)RTS_EXECUTE (<Message/word name>)49// Отобразить значение объекта// и занести это значение в протоколRTS_DISPLAY (<object name>)Взаимодействие спользователем// Отобразить и записать в протокол текстовое сообщениеRTS_COMMENT (<message text>)// Приостановить выполнение теста// и ждать команды пользователя на продолжениеПользовательвыполняет вседействия черезинтерфейс СОВУRTS_PAUSE ()// Запросить у пользователя заключение (тест пройден / не пройден)// и завершить тест в соответствии с полученным заключениемRTS_CONFIRM ()// Запросить у пользователя заключение и занести его в протоколRTS_REQUEST ()// Запросить у пользователя текстовый комментарий и занести его в протоколRTS_EXPLAIN ()50Тестовый шагТестовый шаг – фрагмент теста, проверяющий элементарную функциютестируемого устройства.Тестовый шаг может проверять правильность приема/передачиотдельного сообщения или слова, или отдельного битового поля всоставе сообщения.Типичная структура тестового шага: Установка тестовых условий (входных значений) Ожидание результата Проверка ожидаемого результата (+ нумерация) Операторы if и RTS_WHENТело:RTS_TESTNAME (“<name>”),RTS_TESTNUM (<multi-level number>)// автоинкремент51Оператор RTS_WHENRTS_WHEN ( “W46A185_13 == 0” , 15) { // ожидание 15 мсRTS_THEN():RTS_COMMENT (“ERROR Circuit- Command Port (W46A185_13 = 0)”);RTS_TEST_FAILED();break;RTS_OTHERWIZE():RTS_TEST_PASSED();break;}52Пример тестового шага// StateValue – битовое поле в RTS_OUTPUT_TERM_MESSAGE()// ControlWord – битовое поле в RTS_INPUT_TERM_MESSAGE ()// ---------------------------------------------------------------------------------RTS_TESTNUM( 2.1 );// Установка значения отправляемых данныхStateValue = 0.0;// Ожидание выдачи сообщенияRTS_DELAY( 0.5 );// Проверка ответа от тестируемого устройстваRTS_WHEN ( “ControlWord == 5”) {//……}53Тестовый случайТестовый случай – последовательность связанных посмыслу тестовых шагов, соответствующихотдельным разделам или отдельным требованиямсистемной спецификации на тестируемоеустройство.“Минималистический” тестовый случай может состоятьиз одного тестового шага.При выполнении тестового случая увеличиваетсянумерация тестов на соответствующем уровне.54Протокол тестирования Информация о смене (назначении) номеров тестов Информация о смене выполняемых тестов Результаты тестирования: «Тест прошел» / «Тест непрошел» c указанием номера теста Результаты всех команд взаимодействия с пользователем Комментарии с описаниями ожидаемого поведения тестаи другая дополнительная информация, выдаваемаякомандой RTS_COMMENT Информация о текущих значениях объектов ФТ (в т.ч.битовых полей и битов), выдаваемая командойRTS_DISPLAY55Работа с протоколами тестированияЗаголовокRTS_LOG_FILE(LOG1, “log1.log”)// Файл «log1.log» будет помещен в подкаталог// «ПротоколыТестирования» каталога// результатов экспериментаТелоRTS_LOG(LOG1)RTS_CLEAR_LOG(LOG1)Протоколы тестирования служат основой дляформирования отчетов по тестированию.Пример протокола тестирования**************************************************** Протокол функционального тестирования LOG1* Собран компонентом tsk (Stand.tsk)* Тип компонента: TCK_Stand::TCK::TCK* Имя эксперимента: T1* Дата эксперимента: Втр Май 30 09:46:25 MSD 2006* Продолжительность эксперимента: 30с 000мс* Эксперимент запущен пользователем: mike***************************************************>>>> [0мс] от начала эксперимента--------------------------------------------------| Начало функционального тестирования БЦВМ из проекта DemoLang--------------------------------------------------Тест номер 3.2.1>>>> [9с 000мс] от начала экспериментаТест номер 3.2.1 прошёлТест номер 3.2.2…57Подготовка и выполнениетестированияСоздание проектаРедактирование кода ТСКПривязка ТСК к инструментальныммашинамПривязка интерфейсов к адаптерам КБИПараметры эксперимента63Оперативное управлениеэкспериментом64Инструменты оперативногоуправления тестированиемОжиданиевводаданныхОжиданиевыборатестаЦиклическоевыполнениетестаЗадержкациклическоговыполненияВыборвнеочередноготестаОбработка результатовэксперимента• Формирование отчётов по результатам тестирования• Анализ временной диаграммы событий экспериментаПерспективы• Автоматизация проверки выполнениярасписаний обмена• Автоматизация тестирования индикаторов– интеграция с «блоком нажатия кнопок»– перехват изображения– сравнение с эталоном• Автоматизация генерации тестов поописанию требований• Интеграция тестов с отладочнымисредствами БЦВМ• Новые внедрения– существующие: Су-35, Т-50/ПМИ, МС-2167Спасибо за внимание!68ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫРЕАЛЬНОГО ВРЕМЕНИЛекция 11-Б:Мониторинг обмена данными в ИУС РВКафедра АСВК,Лаборатория Вычислительных КомплексовБалашов В.В.Бортовые устройства2Пример: Интерфейсы БЦВМВнутриблочныеинтерфейсы• VME32• PCI32 33 МГц• PCI Express x460 МБ/с60-80 МБ/c4x250 МБ/с4Внешние интерфейсы блоков•••••••МКИО (MIL-STD-1553B)ДПК (ARINC 429)FC-AE-ASMAFDXARINC 818 (видео)CAN (500 КГц)Разовые команды (РК)80-90 КБ/с7.12 КБ/c100 МБ/c10-12 МБ/c70.1 МБ/c24.4 КБ/cНеобходимы специализированные инструментальныесредства мониторинга и анализа информационных обменов.5Схема работы с ИУС РВРМПБлоки ИУСТехнологическиеинтерфейсы: RS-232,Ethernet, USBБлокИУС(host)(target)ИнструментальноеПО для загрузки,отладки,отображения иуправленияЦелевое ПОВиды интерфейсов ИУС РВ:•Технологические интерфейсы•Внутренние (локальные) интерфейсы•Бортовые интерфейсы (внешние)ВнешниеинтерфейсыИмитаторыКБО(средствастенда ПНМ)ИнструментальноеПО для имитации имониторингаАРММониторингинформационного обмена• Уровни информационного обмена:– Между блоками (канал)– Между модулями в составе блока(внутренняя шина)– Между функциональными задачами врамках модуля (разделяемая память,очереди сообщений)7Мониторинг каналов/шин• По уровням протокола:– физический: проверка наличия ихарактеристик сигнала– канальный:• проверка соответствия информационных слов икадров стандарту канала• проверка ограничений реального времени напередачу слов/кадров• анализ активности абонентов канала– логический:• проверка соответствия параметров,передаваемых в полезной нагрузке, протоколуинформационного взаимодействия8Варианты анализа• Оперативный: выявление и анализпроблем «на лету»– Автоматически проверяемые условиякорректности– Визуальный анализ• Анализ результатов регистрации– Большой объём– Начало регистрации «по событию»9Доступа к каналу точка-точка10Доступ к общей шинеОУ1ККОУ2ОУkКанал• Монитор – особый тип абонентаМОН– Пассивный– Без собственного адреса11Доступ к коммутируемой сетиBACКоммутаторE••DСлушаем выбранные линии как каналы «точка-точка»––––Коммутационная панельКаждый канал выведен с разрывомВарианты замыкания: напрямую или через разветвительГромоздко…––––«сливаются» только корректные кадры, воспринятые коммутаторомНарушение временных характеристик потокаВозможное превышение пропускной способности портаКомпактное решениеПорт мониторинга на коммутаторе12Низкоуровневый анализ• Осциллограф:– Физические характеристики сигнала– Правильность формирования слова/кадра,повторяемого по каналу (можно«непосредственно» увидеть)– …и даже значения данных (в повторяемых кадрах)13Анализ канальныхпротоколов• Виды представления данных– последовательность обменов• быстро обновляется, большой объём• фильтрация, поиск• постоянный мониторинг +запуск регистрации по событию– статистика обменов• по абонентам• по потокам данных (виртуальные каналы,метки слов, пары отправитель-получатель)• статистика ошибок14Анализаторы шин VME/PCIVME,PCI,и т.д.ПлатаДоп.входыEthernet,USB,LPTПК x86ПОотображения иуправленияИнструментальные средства анализа:•Silicon Control Inc•Curtiss-Wright Electronics systems / VMETRO•LeCroy Inc•Tektronix Inc•Гранит-ВТПример анализаторов шин:Таблица обменовПример анализаторов шин:Временная диаграммаАрхитектура средств мониторинга18Поддерживаемые протоколы•••••MIL STD-1553BARINC 429CANFibre Channel (оптика/данные)ARINC 818 (оптика/видео)19Анализатор MIL STD-1553BПанель инструментовБоковая панельОбласть информационных сообщенийОбласть отображения результатовСтатусная строка20Троированный канал21Информация о сообщении22Статистика обмена23Фильтрация обмена24Анализ передаваемых данных• Проверяемые условия:– Обновление данных– Гладкость: |Ai - Ai-1| < d– Пороговое сравнение с эталоном– Сравнение по маске с эталоном илидругим параметром• Анализ графиков измененияпараметров• Интеграция с БД протоколовинформационного взаимодействия25Мониторинг межзадачного обмена• Агент отладки• Запись трассы + сброс втехнологический порт• «Снимки» интерфейсных переменныхпо внешнему запросу• Мониторинг системной информации• Показатели реального времениискажаются!26Мониторинг переменных• Инструмент мониторинга переменныхпозволяет получить доступ к значениямпеременных и содержимому ячеек памяти взащищённых разделах памяти целевоговычислителя.• Поддерживаются глобальные и статическиепеременные как пользовательскихпроцессов, так и процесса ядра.• Компонент позволяет получать иотображать значения, а также сохранять ихв файле трассы.27Мониторинг системной информации••••••••••••••сведений о распределении памяти;информации о каналах;информации об условной переменной;содержимого памяти;информации о канале межмодульной передачи данных;информации об очереди сообщений;информации о мьютексе;информации о порте с очередью сообщений;информации о расписаниях и окнах;информации о сегментах;информации о семафоре;сведений о состоянии потока управления;информации о таймере;статистики по использованию окон.28Спасибо за внимание!29ЛабораторияВычислительныхКомплексовИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕСИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИЛекция 12:Жизненный цикл ПО ИУС РВ иинструментальные средства его поддержкиКафедра АСВК,Лаборатория Вычислительных КомплексовБалашов В.В.РАЗРАБОТКА ПО ИУС РВ –ТЕХНОЛОГИЧЕСКИ ИОРГАНИЗАЦИОННО СЛОЖНЫЙПРОЦЕССНа примере разработки бортовых ИУС РВ2Комплекс бортового оборудованияуправление и контрольдвигателейсистемы навигации исвязи, РЛСсреда передачи данныхмежду компонентамиКБОинформационновычислительнаясистемасложнаянеоднороднаяраспределённаявычислительнаясистемасредства отображенияинформации, органыуправленияСпецифика бортовых ИУС РВВысокая сложностьФункционирование в реальном времениТребованияВычисленияИнформационный обменФункциональностьНадёжностьРеальное время разнообразиеКритичностьНеоднородностьКаналы: точка-точка, шина, коммутатор; 12 kbps, 1 Mbps, 1 GbpsУстройства: датчики, индикаторы, вычислители, органыуправления, исполнительные устройстваДанные: аналоговые, цифровые; числовые массивы, видеопотокиБортовые ИУС РВ и их ПО требуют систематическогоподхода к проектированию, реализации и тестированию4Бортовые устройства5Уровень сложности комплексабортового оборудованияПО ИУС: 700+ тыс.