1_prac_intro_ru (Домашнее задание 2)
Описание файла
Файл "1_prac_intro_ru" внутри архива находится в следующих папках: Домашнее задание 2, docs_task2. PDF-файл из архива "Домашнее задание 2", который расположен в категории "". Всё это находится в предмете "(иус рв) архитектура управляющих систем реального времени" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Практическое задание №1.Тема: «Введение в инструментальные средства стенда и языкописания моделей.ОбзорСтуденту предлагается изучить несколько проектов на языке описаниямоделей (ЯОМ), произвести их модификацию, подготовку и запуск экспериментов, атакжесделатьобзорполученныхрезультатов.Каждыйпроектвводитврассмотрение новый тип интерфейса обмена данных.Цель:ознакомлениесосновнымиконструкциямиЯОМицепочкойинструментальных средств стенда.Часть 1: Простейший проект с интерфейсами «модель-модель»Описание проектаПроект «Task1_BasicTest» состоит из двух пакетов последовательных частныхмоделей (ПЧМ): «Sender» и «Receiver», а также пакета модели-стенда «Stand».Модель-стенд определяет экземпляры ПЧМ («sender», «receiver») и соединяет ихпосредством интерфейса «модель-модель».Модель-отправитель «sender» в цикле считает свой выходной параметр X.Каждая итерация цикла начинается по сигналу таймера.
Модель ожидает приходаэтого сигнала на точке ожидания.Модель-получатель «receiver» циклически ожидает прихода «межмодельного»сообщения и соответствующего обновления входного параметра X. Т.к. входнойпараметр является «событийным» (его обновление генерирует сигнал), модель«Receiver» ждёт в точке ожидания сигнал обновления значения параметра, а затемвыдаёт сообщение пользователю.Инструкции к заданию1. Запустите среду разработки частных моделей (СРЧМ), введя команду«stand-ide» в окне терминала Linux.2. Выберите проект «Task1_BasicTest».3. Во вкладке «Исходники» дважды щёлкните по элементу «Sender».Появится окно редактирования исходного кода.4.
Просмотрите заголовок пакета модели «Sender» (верхняя часть окна).Обратитевниманиенаоператорыописанияпараметровмодели,интерфейса, точки ожидания и условия выхода. Чтобы посмотреть1детальную информацию по какой-либо языковой конструкции, наведитекурсор на неё и нажмите F1; появится окно помощи. Чтобы закрыть окнопомощи, используйте элемент меню «Окно Закрыть»5. Просмотрите тело пакета модели «Sender» (нижняя часть окна редактора)и обратите внимание на использование точки ожидания и логику расчётазначения параметра.6. Дважды щелкните на элементе «Receiver».7. Просмотрите заголовок и тело пакета модели «Receiver».8.
Дважды щелкните по элементу «Stand».9. Просмотритезаголовокпакетамодели-стенда«Stand».Обратитевнимание на описание зависимостей пакетов, моделей-компонентов,связей между интерфейсами.10. Проведите проверку синтаксиса для модели «Sender». Для этого выберитеэлемент «Sender» и нажмите на иконку «Синтаксический анализ» напанели инструментов:.11.
Обновите (пересоберите) исполняемую конфигурацию «Conf». Для этогонажмите на кнопку «Создать конфигурацию стенда» на панелиинструментов:. В диалоговом окне нажмите ОК. После окончаниясборки подэлемент «Default» элемента «Conf» на вкладке «Конфигурации»будет автоматически выбран. «Default» — это имя набора настроекконфигурации.Замечание: при изменении исходного кода моделей необходимо обновитьисполняемую конфигурацию для того, чтобы изменения вступили в силу. Впротивном случае эксперимент будет запущен со старым содержимымисходных файлов, оставшимся со времени последнего создания илиобновления конфигурации.12.
Выберите настройки конфигурации «Default».13. Запустите редактор структуры сообщений (РСС) нажатием на иконку«Редактировать структуру сообщений» на панели инструментов:, илидвойным щелчком по названию настроек конфигурации.14. В РСС выберите элемент «Sender::Sender» из списка «Типы» в левойчасти окна.
Список содержит названия типов моделей и их интерфейсов.«Sender::Sender» — это полное имя для типа модели «Sender». Структура2сообщенийиправилаихпередачидлятипамодели«Sender»описываются на вкладках элемента «Sender::Sender» и его подэлементов.Обратите внимание на:a. Определение группы режимов во вкладке «Группы режимов».Правила передачи сообщений определяются для группы режимов.Группа режимов может содержать произвольное подмножестворежимов модели.b. Список параметров во вкладке «Параметры».c.
Определение сообщения «MSG» с параметром «X» на вкладке«Сообщения модель-модель».15. Выберите подэлемент «out» элемента «Sender::Sender» из списка типов.«Out» — это имя интерфейса. Отметьте, что сообщение «MSG» заданодля отправки на интерфейс «Receiver::Receiver::in» в группе режимов«Sending».16.
Выберите элемент «Receiver::Receiver» из списка «Типы», затем егоподэлемент «in». Заметьте, что для типа модели «Receiver» не задано ниодно сообщение, а для интерфейсов не определена ни одна группарежимов. Причиной этого является тот факт, что структура межмодельныхсообщений и правил передачи полностью определяются модельюотправителем (в данном примере: «Sender»).Замечание:здесьидалееописаниеструктурысообщенийрассматривается только для типов моделей. Сообщения, описанные длятипа модели, распространяются на каждый экземпляр этого типа. В РССесть возможности для описания различных сообщений для различныхэкземпляров одного и того же типа модели (обратите внимание на список«Экземпляры» в окне РСС), но они не будут рассмотрены в данномпрактическом задании.17.
Закройте окно РСС.18. Запустите эксперимент, щелкнув по иконке «Запустить эксперимент» напанели инструментов:. Появится окно настроек запуска эксперимента.Оно поддерживает выбор:a. Конфигурациииеёнастроек,длякоторыхнужноначинатьэксперимент;b. Имени эксперимента (оно же будет являться и именем результатов3эксперимента);c. (Максимальной) длительности эксперимента;d. Режима выполнения эксперимента («Мягкое РВ» – мягкое реальноевремя – означает, что эксперимент будет выполняться безподдержки аппаратных адаптеров бортовых интерфейсов и безточнойсинхронизациимодельноговременисфизическимвременем).Введите имя эксперимента (например, «exp»), не меняйте значений поумолчанию для других параметров, и нажмите ОК.
Откроется окно Средстваоперативной визуализации и управления экспериментом (СОВУ).19. Нажмите на иконку «Запустить эксперимент»СОВУ.Обратитевниманиенана панели инструментовотображениеизмененийзначенийпараметров в правой панели окна СОВУ и на увеличение модельноговремени в правой части строки состояния. Заметьте, что отладочныесообщения (задаваемые оператором RTS_DEBUG в теле пакета модели«Receiver») периодически отображаются в области сообщений СОВУ(нижняя часть окна СОВУ).20. Остановитеэкспериментнажатиемнаиконку«Остановитьэксперимент» на панели инструментов СОВУ.
Обратите внимание, чтозначенияпараметровизначениемодельноговременипересталиизменяться.21. Завершите работу СОВУ нажатием на иконку «Завершить исполняемуюконфигурацию и выйти»на панели инструментов СОВУ. Запуститсяиндексирование трассы (соответствующее сообщение появится в областисообщений СРЧМ).Замечание: индексирование длинных трасс больших и/или сложныхэкспериментом может занять несколько минут.
Если необходимости вработе с трассой нет, нажмите иконкув панели инструментов СОВУ.22. После завершения построения индексов трассы, станет доступна вкладка«Результаты»вСРЧМсужевыбранныминовымирезультатамиэксперимента («exp» в нашем случае).23. Нажмите иконку «Визуализация» на панели инструментов СРЧМ (илидважды щёлкните по имени результатов экспериментов). Появится окно4визуализатора временной диаграммы (ВВД).24. Обратите внимание на две горизонтальные линии жизни в окне ВВД,помеченные «ЧМ sender» и «ЧМ receiver» у своих левых концов.
На этихлиниях показаны действия последовательных моделей с указаннымиименами в процессе эксперимента. Текст «Sending» и «Receiving» налиниях жизни отображает режимы моделей, а цвета линий жизни задаютсяв заголовках пакетов моделей при помощи оператора «RTS_COLOR».25. Обратите внимание на вертикальные засечки на линиях жизни. Этизасечки связаны с событиями моделирования. Дуги со стрелкамисоединяют засечки связанных событий на разных линиях жизни.26. Закройте окно ВВД.27.
Измените тело пакета «Sender» таким образом, чтобы начальное значениепараметра X стало равным 10.5 вместо 0.0, а на каждой итерациизначение параметра увеличивалось бы на 1.1. Сохраните изменениянажатием на иконку «Сохранить файл» в панели инструментов редактора, или же при помощи комбинации клавиш «Ctrl + S»1.28. Изменитетелопакета«Receiver»заданиемдругогоотладочногосообщения для оператора «RTS_DEBUG».29. Обновите исполняемую конфигурацию «Conf».30. Запустите эксперимент с настройками «Default» конфигурации «Conf».Обратите внимание, что значение параметра вычисляется по-другому, авыводимые отладочные сообщения изменились.Часть 2: Проект с интерфейсами MIL STD-1553BОписание проектаПроект «Task1_MIL_STD_1553B» содержит два пакета ПЧМ («Terminal» и«BCVM») и пакет модели-стенда «Stand». Модель-стенд определяет экземплярыПЧМ: «term1», «term2» (типа «Terminal») и «bcvm» (типа «BCVM»). Модель-стендтакже определяет экземпляр модели канала MIL STD-1553B и соединяет с ним тридругие модели посредством интерфейсов типа MILS_1553BМодель канала MIL STD-1553B имитирует обмен данными через канал MILSTD-1553B.
При работе с реальным стендом эта модель заменяется на аппаратныйканал.1Далее подразумевается, что исходный код сохраняется после каждой модификации.5Модель типа «Terminal» имитирует простейшее оконечное устройство MILSTD-1553B. Она имеет два выходных параметра (X_out, Y_out) и два входныхпараметра (X_in, Y_in). Параметр X_in является событийным.
Терминальная модельв цикле увеличивает значения выходных параметров X_out, Y_out, помещаетинформацию на выходные подадреса своего интерфейса MILS_1553B с именем«mils» и ждёт обновления входного параметра X_in.Замечание:получаемыхструктурамоделямисообщений«Terminal»иMILSTD-1553B,«BCVM»,отправляемыхопределенавинастройкахконфигурации посредством РСС.Модель типа «BCVM»2 имитирует функционирование контроллера шины MILSTD-1553B. Эта модель запрашивает данные (в виде сообщений) с подадресовоконечных устройств и распаковывает их в свои входные параметры X_in, Y_in.Затем она присваивает полученные значения своим выходным параметрам ипосылает их обратно на оконечные устройства.Получив сообщение из (моделируемого) канала MIL STD-1553B, модель«Terminal» распаковывает параметр X_in из сообщения, пробуждается ото сна ипереходит на следующую итерацию основного цикла.Порядок обмена данными по каналу MIL STD-1553B описан на ЯОМ в телепакета «BCVM»Инструкции к заданию1.
Выберите проект «Task1_MIL_STD-1553B» в СРЧМ.2. Ознакомьтесь с заголовком пакета модели «Terminal», включающимописание интерфейса «MILS_1553B» и точки ожидания.3. Ознакомьтесь с телом пакета модели «Terminal». Обратите внимание налогику выполнения основного цикла (цикл while(1)), включая сравнение ивычисление значений входных и выходных параметров и размещениеданных на подадреса.4. Просмотрите заголовок пакета модели «BCVM». Заметьте, что свойство«Acceptance of control» («Прием управления») для интерфейса «mils»установлено в «true», чтобы разрешить работу интерфейса в качествеконтроллера шины.
Обратите внимание, что в заголовке определены дветочки ожидания. Одна — для обработки сигналов от таймера, другая —2Расшифровывается как «бортовая цифровая вычислительная машина».6для обработки сигналов, относящихся к обмену по каналу MIL STD-1553B.5. Обратите внимание на последовательность операторов в основном цикле:a. Запросы данных для пар {адрес:подадрес} — {1:1}, {2:2}.