Разрабатывайте композиции и компоненты AUTOSAR для классической платформы с помощью модели архитектуры.
Модель архитектуры AUTOSAR предоставляет ресурсы и холст для разработки композиции AUTOSAR и моделей компонента. Из модели архитектуры можно:
Добавляйте и соединяйте составы и компоненты AUTOSAR.
Создайте представления архитектуры для анализа.
Ссылка компонентов к требованиям (требует Simulink ® Requirements).
Задайте поведение компонента путем создания, импорта или связывания моделей Simulink.
Сконфигурируйте планирование и симуляцию.
Экспортируйте описание композиции и компонента ARXML и сгенерируйте код компонента (требует Embedded Coder).
Модели архитектуры обеспечивают сквозной рабочий процесс разработки ПО AUTOSAR. В Simulink можно создать высокоуровневый проект приложения, реализовать поведение для компонентов приложения, добавить сервисные вызовы Basic Software (BSW) и реализации сервиса, а также симулировать приложение.
Чтобы начать разработку композиций и компонентов AUTOSAR в холсте программной архитектуры, создайте модель архитектуры AUTOSAR (требует System Composer).
1. Откройте начальную страницу Simulink путем ввода команды MATLAB simulink
.
2. На вкладке New прокрутите файл до AUTOSAR Blockset и разверните список шаблонов модели. Наведите курсор на шаблон Программной архитектуры и нажатия кнопки Создать Модель.
Откроется новая модель архитектуры AUTOSAR.
3. Исследуйте элементы управления и содержимое в холсте программной архитектуры.
На панели инструментов Simulink вкладка Modeling поддерживает общие задачи для моделирования архитектуры.
Слева от окна модели палитра включает значки для добавления к модели компонентов AUTOSAR различных типов: Software Component, Software Composition и для моделирования базового программного обеспечения (BSW), Diagnostic Service Component и NVRAM Service Component.
Редактор композиции предоставляет представление программной архитектуры AUTOSAR, основанное на виртуальной функциональной шине (VFB) AUTOSAR. На холсте модели первоначально отображаются два связанных программных компонента.
4. Удалите содержимое по умолчанию из окна, чтобы можно было создать новую композицию.
Этот пример создает приложение управления положением дросселя. Выполните шаги в новой модели архитектуры или обратитесь к примеру модели autosar_tpc_composition
, что показывает конечный результат.
% Open example model autosar_tpc_composition for reference open_system('autosar_tpc_composition.slx')
После создания модели архитектуры AUTOSAR используйте редактор композиции и вкладку Simulink Toolstrip Modeling, чтобы добавить и соединить композиции и компоненты.
Поведение приложения AUTOSAR определяется его компонентами AUTOSAR, которые вы связываете с моделями реализации Simulink. Для удобства в этом примере представлена модель реализации Simulink для каждого компонента AUTOSAR:
autosar_tpc_throttle_sensor1.slx
для TPS_Primary компонентов
autosar_tpc_throttle_sensor2.slx
для TPS_Secondary компонентов
autosar_tpc_throttle_sensor_monitor.slx
для Monitor компонентов
autosar_tpc_pedal_sensor.slx
для PedalSensor компонентов
autosar_tpc_controller.slx
для Ctrl компонентов
autosar_tpc_actuator.slx
для Actuator компонентов
Четыре компонента управления положением дросселя являются компонентами датчика, которые этот пример помещает в Sensors
композиция.
В вашей модели архитектуры:
1. Создание вложенного Sensors
composition, добавить блок Software Composition. Для примера на вкладке Моделирования выберите Software Composition и вставьте блок Software Composition в холст. В поле подсвеченного имени введите Sensors
.
2. Откройте Sensors
блок так, чтобы полотно модели показало содержимое композиции. Внутри композиции добавьте блоки Software Component, чтобы представлять компоненты AUTOSAR с именем TPS_Primary
, TPS_Secondary
, Monitor
, и PedalSensor
. Для примера на вкладке Моделирование (Modeling) можно выбрать Программный компонент (Software Component), чтобы создать каждый из них.
3. Соедините каждый компонент датчика AUTOSAR с моделью Simulink, которая реализует его поведение. Для примера выберите TPS_Primary
блок компонента, наведите курсор на отображаемый эллипсис и выберите команду Ссылка на модель (Link to Model).
В диалоговом окне Ссылка на модель перейдите к модели реализации autosar_tpc_throttle_sensor1.slx
.
Чтобы связать компонент с моделью реализации, нажмите OK.
В модели архитектуры, когда вы инициируете связывание блока компонента с моделью реализации, программное обеспечение проверяет, соответствует ли заданная модель требованиям связывания. Например, модель реализации должна использовать ту же цель, что и модель архитектуры, использовать решатель с фиксированным шагом и использовать порты шины корневого уровня. Если модель реализации не соответствует одному или нескольким требованиям к связыванию, программное обеспечение открывает приложение AUTOSAR Model Linker, которое предлагает исправления для неудовлетворенных требований. Для получения дополнительной информации смотрите Ссылка на модель реализации.
Модели реализации, предоставленные для этого примера, соответствуют требованиям к связыванию.
4. После того, как вы связываете каждую модель, можно изменить размер связанного блока компонента, чтобы лучше отобразить порты компонента.
5. Соедините компоненты друг с другом и к корневым портам состава.
Чтобы соединить компоненты, перетащите линию из порта поставщика компонентов в другой порт приемника компонентов.
Как соединить компоненты с Sensors
составьте корневые порты, перетащите мышью из порта компонента в Sensors
контур состава.
Опционально, чтобы точно соответствовать именованию корневого порта в модели примера autosar_tpc_composition
, переименовать порты TPS_HwIO
и TPS_HwIO1
на TPS1_HwIO
и TPS2_HwIO
.
6. Вернитесь к верхнему уровню модели архитектуры. Чтобы завершить работу приложения, добавьте два блока Software Component и назовите их Ctrl
и Actuator
. Соедините компоненты AUTOSAR с их моделями реализации Simulink, autosar_tpc_controller.slx
и autosar_tpc_actuator.slx
. Соедините Sensors
состав, Ctrl
компонент, и Actuator
компонент друг к другу и к контуру модели архитектуры.
7. Чтобы проверить на наличие проблем с интерфейсом или типом данных, обновите модель архитектуры. На вкладке Моделирование (Modeling) выберите Обновить модель (Update Model). Если проблемы найдены, сравните вашу модель с примером модели autosar_tpc_composition.slx
.
8. Сохраните модель с уникальным именем, таким как myTPC_Composition.slx
.
Чтобы помочь в анализе структурных и функциональных аспектов модели архитектуры AUTOSAR, можно создать отфильтрованное представление иерархии модели. На вкладке Modeling, в меню Architecture Views:
Выберите «Прожектор», чтобы создать вид прожектора.
Выберите Представления архитектуры (Architecture Views), чтобы создать пользовательское представление с критериями группировок.
Чтобы помочь в анализе зависимостей компонента или состава, создайте вид прожектора. Вид в центре внимания является упрощенным видом компонента или состава архитектуры, который захватывает его зависимости в восходящем и нисходящем направлениях.
В данном примере выберите компонент Monitor
, либо в модели примера autosar_tpc_composition
или в модели архитектуры, которую вы создали и сохранили. На вкладке « Моделировании» выберите Architecture Views > Spotlight.
Откроется вид прожектора, на котором показаны элементы модели, с которыми соединяется компонент или композиция в иерархии. Схема прожектора выкладывается автоматически и не может быть отредактирована.
Опционально можно создать виды прожектора в отдельных, постоянных окнах модели. Обновление диаграммы модели архитектуры с изменениями обновляет открытые виды прожектора. Находясь в виде прожектора, можно перемещать особое внимание прожектора.
Чтобы создать пользовательское представление с более сложными условиями фильтрации, используйте Галерею видов архитектуры. На вкладке Моделирования выберите Архитектуру Views. Пользовательские представления можно сохранить с помощью модели архитектуры, а затем получить доступ к ним и совместно использовать их сотрудничающими пользователями. Для получения дополнительной информации смотрите Создание архитектурных представлений AUTOSAR для анализа.
Если у вас есть программное обеспечение Simulink Requirements, можно связать компоненты в модели архитектуры с требованиями Simulink. Папка с примером предоставляет пример файла требований TPC_Requirements.slreqx
. Файл содержит требования к четырем компонентам приложения управления положением дросселя.
Чтобы связать компонент с требованием:
1. Откройте приложение Requirements Manager В окне модели архитектуры откроется вкладка Requirements, внизу которой закреплен браузер Requirements Browser.
2. В браузере требований откройте набор требований TPC_Requirements.slreqx
. Набор требований содержит требования к четырем компонентам модели.
3. Чтобы связать компонент AUTOSAR с требованием, перетащите требование из браузера требований к блоку компонента. Например, перетащите требование 4 в Actuator
компонентный блок.
Для получения дополнительной информации см. раздел «Ссылка компонентов AUTOSAR с Simulink Requirements».
Чтобы симулировать поведение агрегированных компонентов в модели архитектуры AUTOSAR, нажмите кнопку Выполнить.
Если вы пытаетесь запустить модель архитектуры, созданную в этом примере, сообщение об ошибке сообщает, что определение функции не было найдено для блока вызывающего абонента функции Basic Software (BSW). Три модели реализации компонента содержат вызовы функций BSW, которые требуют реализации услуг BSW.
Чтобы просмотреть эти вызовы функций, откройте свою архитектурную модель, например myTPC_Composition.slx
. На вкладке Debug выберите Information Overlays > Function Connectors. Этот выбор приводит список функциональных коннекторов для каждой модели с функциями. Чтобы увидеть модели с вызовами функций BSW, откройте Sensors
композиция.
Модели содержат вызовы функций к службам Diagnostic Event Manager (Dem) и NVRAM Manager (NvM). Перед моделированием приложения необходимо добавить блоки Diagnostic Service Component и NVRAM Service Component к верхней модели.
Чтобы добавить и сконфигурировать блоки реализации сервиса:
1. Вернитесь к верхнему уровню модели архитектуры и выберите вкладку Моделирование. Выберите и поместите образец компонента Diagnostic Service и образца компонента NVRAM Service. Чтобы подключить вызывающих абонентов к реализации услуг BSW, обновите модель.
2. Проверьте отображение клиентских портов function-caller BSW идентификаторам услуг BSW. Клиентские порты Dem сопоставлены с идентификаторами событий службы Dem и клиентские порты NvM сопоставлены с идентификаторами блоков службы NvM.
В данном примере обновите отображение Dem. Откройте диалоговое окно блока DEM/FIM, выберите вкладку RTE и введите показанные значения идентификатора события. Нажмите OK. Для получения дополнительной информации о сопоставлении идентификаторов BSW смотрите Simulate AUTOSAR Basic Software Services и Run-Time Environment.
Модель архитектуры теперь готова к моделированию. Нажмите Запуск.
Чтобы обеспечить моделируемый вход педали в симуляцию управления положением дросселя, можно поместить модель архитектуры в модель тестовой обвязки. Эта тестовая обвязка может обеспечить модель объекта управления с блоком входа педали. См. пример модели тестовой обвязки autosar_tpc_system.slx
.
Чтобы соединить модель архитектуры с тестовой обвязкой:
1. Вставьте блок Model.
2. Сконфигурируйте блок Model, чтобы ссылаться на модель архитектуры, например myTPC_Composition.slx
.
3. В диалоговом окне Блока Model выберите опцию Schedule rates. Для связанного параметра Schedule rates with выберите Schedule Editor
. Компоненты управления положением дросселя имеют явные разделы, которые можно запланировать с помощью редактора спецификаций.
4. Соедините порты модели архитектуры с сигналами тестовой обвязки.
Тестовая обвязка теперь готова к моделированию. Нажмите Запуск. Когда вы симулируете приложение, возможности положения дросселя указывают, насколько хорошо алгоритмы управления положением дросселя в модели архитектуры отслеживают вход педали акселератора.
В модели тестовой обвязки из блока Model для модели архитектуры AUTOSAR, на которую ссылается ссылка, можно использовать Редактор расписаний для планирования скоростей выполнения компонентов. Чтобы открыть Редактор расписаний, щелкните значок Редактор расписаний непосредственно над блоком Model. На отображении Редактора расписаний можно визуализировать и управлять порядком выполнения runnables (разделов) в компонентах приложения. Дополнительные сведения см. в разделах Использование редактора расписаний, Настройка порядка выполнения выполнения AUTOSAR и Настройка планирования и симуляции AUTOSAR.
Если у вас есть программное обеспечение Simulink Coder и Embedded Coder, можно экспортировать описание композиции и компонента AUTOSAR XML (ARXML) и сгенерировать код компонента из модели архитектуры AUTOSAR. При необходимости создайте ZIP- файла, чтобы упаковать программные продукты сборки для иерархии модели, для примера, для перемещения и интегрирования.
Чтобы экспортировать файлы ARXML и сгенерировать код:
1. Откройте модель архитектуры, построенную в этом примере, или откройте пример модели utosar_tpc_composition.slx
.
2. Чтобы подготовиться к экспорту ARXML, исследуйте и измените опции XML. На вкладке Моделирования выберите Экспорт > Настроить XML- Опции. В представлении XML- Опции откроются словарь AUTOSAR. Опции XML, заданные на уровне модели архитектуры, наследуются во время экспорта каждым компонентом в модели.
3. Чтобы сгенерировать и упаковать код для приложения управления положением дросселя, на вкладке Моделирование, выберите Экспорт > Сгенерировать код и ARXML. В диалоговом окне «Экспорт композиции» укажите имя ZIP-файла, в который нужно упаковать сгенерированные файлы. Чтобы начать экспорт, нажмите кнопку ОК.
Когда модель архитектуры создает, можно просмотреть журнал сборки в Diagnostic Viewer. Сначала модели компонента сборку, каждую как автономную сборку топовой модели. Наконец, композиция ARXML экспортируется. Когда сборка завершена, текущая папка содержит папки сборки для модели архитектуры и каждой модели компонента в иерархии и указанные ZIP- файла.
4. Разверните ZIP- файла. Его содержимое организовано в arxml
и src
папки.
5. Исследуйте arxml
папка. Каждый компонент AUTOSAR имеет файлы описания компонента и реализации, в то время как модель архитектуры имеет файлы описания состава, типа данных, интерфейса и таймирования. Файл композиции включает XML-описания композиции, прототипов компонентов, и портов состава и коннекторов. Типы данных, интерфейс и файлы синхронизации агрегируют элементы из всей иерархии модели архитектуры.
6. Исследуйте src
папка. Каждая модель компонента имеет папку сборки, которая содержит программные продукты из автономной сборки модели.