В Simulink® можно изменить иерархическую структуру пакета AUTOSAR, как задано стандартом AUTOSAR, который Embedded Coder® экспортирует в код arxml
.
Стандарт AUTOSAR задает пакеты AUTOSAR (AR-PACKAGEs). ПАКЕТЫ AR содержат группы элементов AUTOSAR и находятся в иерархической структуре AR-PACKAGE. В Инструменте разработки AUTOSAR (AAT) или в Simulink, можно сконфигурировать структуру AR-PACKAGE к:
Соответствуйте организационной или стандартизированной структуре AR-PACKAGE.
Установите пространство имен для элементов в пакете.
Обеспечьте основание для относительных ссылок на элементы.
Средство импорта arxml
импортирует AR-PACKAGEs, их элементы и их пути в Simulink. Настройка модели сохраняет пакеты для последующего экспорта в код arxml
. В целом программное обеспечение сохраняет пакеты AUTOSAR через поездки туда и обратно между AAT и Simulink.
Если ваш компонент AUTOSAR произошел в Simulink при создании компонента, разработчик компонента AUTOSAR создает начальную структуру AR-PACKAGE по умолчанию, содержа следующие пакеты.
Компоненты программного обеспечения (включая калибровочные компоненты)
Типы данных
Интерфейсы порта
Внутреннее поведение (схема 3.x или ранее)
Реализация
Например, предположите, что вы запускаете с простой модели Simulink, такой как rtwdemo_counter
. Переименуйте его к mySWC
. Сконфигурируйте модель для генерации кода AUTOSAR. (Например, открытый Быстрый запуск Embedded Coder и выбирает генерацию кода AUTOSAR.), Когда вы создаете модель, ее начальная структура AR-PACKAGE напоминает следующую фигуру.
После создания компонента можно использовать представление XML Options в Словаре AUTOSAR, чтобы задать дополнительный AR-PACKAGEs. (См., Конфигурируют Опции AUTOSAR XML.) Каждый AR-PACKAGE представляет категорию элемента AUTOSAR. Во время генерации кода средство экспорта arxml
генерирует пакет, если какие-либо элементы его категории существуют в модели. Для каждого пакета вы задаете путь, который задает его местоположение в структуре AR-PACKAGE.
Используя опции XML, можно сконфигурировать пакеты AUTOSAR для следующих категорий элементов AUTOSAR:
Данные приложения вводят (схема 4.x)
Базовые типы программного обеспечения (схема 4.x)
Тип данных, сопоставляющий наборы (схема 4.x)
Константы и значения
Физические ограничения данных (ссылаемый типами данных приложения или прототипами данных)
Системные константы (схема 4.x)
Методы адреса программного обеспечения
Группы объявления режима
Методы вычисления
Модули и модульные группы (схема 4.x)
Размещения записи программного обеспечения (для типов данных приложения категории CURVE, MAP, КУБОИД или COM_AXIS)
Внутренние ограничения данных (ссылаемый типами данных реализации)
Для пакетов, которые вы задаете в опциях XML, средство экспорта arxml
генерирует пакет, только если модель содержит элемент категории пакета. Например, средство экспорта генерирует пакет метода адреса программного обеспечения, только если модель содержит элемент метода адреса программного обеспечения.
Если ваш компонент использует схему 4.x, можно задать отдельные пакеты для перечисленных элементов схемы 4.x, например, типов данных приложения. Типы данных реализации схемы 4.x агрегированы в основном пакете типов данных.
Структура AR-PACKAGE логически отлична от однофайлового разделения или разделения модульного файла, которое можно выбрать для экспорта arxml
, с помощью опции XML Exported XML file packaging. Для получения дополнительной информации об экспорте пакета AUTOSAR, смотрите Местоположение AR-PACKAGE в Экспортируемых Файлах ARXML.
Если вы импортируете структуру AR-PACKAGE в Simulink, средство импорта arxml
сохраняет отношения элемента пакета и пути к пакету, заданные в коде arxml
. Кроме того, средство импорта заполняет упаковочные свойства в компоненте и представления XML Options в Словаре AUTOSAR. Если код arxml
не присваивает элементы AUTOSAR пакетам на основе категории, средство импорта использует эвристику, чтобы определить оптимальную ассоциацию категории для пакета. Однако максимум одного пакета может быть сопоставлен с категорией.
Предположим, что вы запускаете с non-AUTOSAR модели Simulink и конфигурируете модель для генерации кода AUTOSAR. (Например, открытый Быстрый запуск Embedded Coder и выбирает генерацию кода AUTOSAR.) Программное обеспечение создает начальную структуру AR-PACKAGE по умолчанию. После создания компонента представление компонента в Словаре AUTOSAR отображает Component XML Options, включая пути к пакету для внутреннего поведения компонента и реализацию.
Представление XML Options отображает пути для типа данных AUTOSAR и интерфейсных пакетов и дополнительных пакетов.
Используя подпанель Additional Packages, можно заполнить поля пути для дополнительных пакетов или оставить их пустыми. Если вы оставляете поле пакета пустым, и если модель содержит packageable элементы той категории, средство экспорта arxml
использует внутренние правила, чтобы вычислить путь к пакету. Приложение внутренних правил обратно совместимо с более ранними релизами. В следующей таблице перечислены опцию XML упаковочные свойства с их основанными на правилах путями к пакету по умолчанию.
PropertyName | Пути к пакету на основе внутренних правил |
---|---|
InternalBehaviorQualifiedName |
|
ImplementationQualifiedName |
|
ComponentQualifiedName |
(диалоговое окно отображается путь компонента без краткого названия), |
DataTypePackage |
|
InterfacePackage |
|
ApplicationDataTypePackage |
|
SwBaseTypePackage |
|
DataTypeMappingPackage |
|
ConstantSpecificationPackage |
|
DataConstraintPackage |
|
SystemConstantPackage |
|
SwAddressMethodPackage |
|
ModeDeclarationGroupPackage |
|
CompuMethodPackage |
|
UnitPackage |
|
SwRecordLayoutPackage |
|
InternalDataConstraintPackage |
|
Чтобы установить упаковочное свойство в Командном окне MATLAB® или в скрипте, используйте свойство AUTOSAR вызов функции set
, подобный следующему:
hModel = 'autosar_swc_counter'; open_system(hModel); arProps=autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','ApplicationDataTypePackage','/Company/Powertrain/DataTypes/ADTs'); get(arProps,'XmlOptions','ApplicationDataTypePackage')
Для демонстрационного скрипта смотрите, Конфигурируют Экспорт AUTOSAR XML.
Для примера конфигурирования и экспорта пакеты AUTOSAR, смотрите Экспорт Пакеты AUTOSAR.
Если вы изменяете путь к пакету AUTOSAR, и если packageable элементы той категории затронуты, вы можете:
Переместите элементы от существующего пакета до нового пакета.
Установите новый путь к пакету, не перемещая элементы.
Если вы изменяете путь к пакету в Словаре AUTOSAR, и если packageable элементы той категории затронуты, диалоговое окно открывается. Например, если вы изменяете опцию XML CompuMethod Package от значения пути /Local/CompuMethods
к /pkg/CMs
, программное обеспечение открывает следующее диалоговое окно.
Чтобы переместить элементы CompuMethod в новый пакет, нажмите OK. Чтобы установить новый путь к пакету, не перемещая элементы, нажмите Cancel.
Если вы программно изменяете путь к пакету, можно использовать свойство MoveElements
задать обработку затронутых элементов. Свойство может быть установлено в All
(значение по умолчанию), None
или Alert
. Если вы задаете Alert
, и если packageable элементы затронуты, программное обеспечение открывает диалоговое окно с кнопками OK и Cancel.
Например, следующие кодовые наборы новый путь к пакету CompuMethod, не перемещая существующие элементы CompuMethod в новый пакет.
arProps = autosar.api.getAUTOSARProperties('cmSpeed'); set(arProps,'XmlOptions','CompuMethodPackage','/pkg/CMs','MoveElements','None');
Этот пример показывает, как сконфигурировать и экспортировать пакеты AUTOSAR для компонента программного обеспечения AUTOSAR, который произошел в Simulink.
Откройте модель, которую вы сконфигурировали для системного конечного файла AUTOSAR, и это моделирует компонент программного обеспечения AUTOSAR. Этот пример использует модель autosar_swc_expfcns
в качестве примера.
Откройте Словарь AUTOSAR и выберите XML Options. Вот начальные установки для некоторых параметров пакета AUTOSAR.
В этом примере Exported XML file packaging установлен в Single file
, который генерирует один, объединенный файл arxml
. Если вы предпочитаете несколько, модульные файлы arxml
, изменяете настройки к Modular
.
Сконфигурируйте пакеты для одного или нескольких элементов AUTOSAR, которые ваша модель экспортирует в код arxml
. Для каждого пакета введите путь, чтобы задать его местоположение в структуре AR-PACKAGE. Нажмите Apply.
Модель в качестве примера экспортирует несколько постоянных спецификаций AUTOSAR. Этот пример устанавливает параметр ConstantSpecification Package на /pkg/misc/MyGround
. (Это значение заменяет основанное на правилах значение по умолчанию, /pkg/dt/Ground
.)
Сгенерируйте код для модели.
Откройте сгенерированный файл
. (Если вы устанавливаете Exported XML file packaging на modelname.arxml
Modular
, открываете сгенерированный файл
.)modelname_component.arxml
Ищите код XML пакеты, которые вы сконфигурировали, например, с помощью текста AR-PACKAGE или имя элемента. Для модели в качестве примера ища autosar_swc_expfcns.arxml
текст MyGround
находит постоянный пакет спецификации и много ссылок на него. Вот выборка примера кода.
Группировка элементов AUTOSAR в пакеты AUTOSAR (AR-PACKAGEs) логически отлична от выходного файла arxml
, группирующего, которым управляет параметр конфигурации AUTOSAR Exported XML file packaging. Устанавливаете ли вы Exported XML file packaging на Single file
или Modular
, экспорт arxml
сохраняет сконфигурированную структуру AR-PACKAGE.
Предположим, что вы конфигурируете модель autosar_swc_multirunnables
в качестве примера со следующей структурой AR-PACKAGE. (См. шаги в Экспорте Пакеты AUTOSAR). В этой настройке заданный путь постоянного пакета спецификации, /pkg/misc/myGround
, заменяет основанное на правилах значение по умолчанию, /pkg/dt/Ground
.
Если вы экспортируете эту структуру AR-PACKAGE в один файл (Exported XML file packaging установлен в Single file
), экспортируемый код arxml
сохраняет сконфигурированную структуру AR-PACKAGE.
autosar_swc_expfcns.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>swc</SHORT-NAME> ... <SHORT-NAME>if</SHORT-NAME> ... <SHORT-NAME>dt</SHORT-NAME> ... <SHORT-NAME>SwBaseTypes</SHORT-NAME> ... <SHORT-NAME>misc</SHORT-NAME> ... <SHORT-NAME>MyGround</SHORT-NAME> ... <SHORT-NAME>imp</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES>
Если вы экспортируете ту же структуру AR-PACKAGE в несколько файлов (Exported XML file packaging установлен в Modular
), экспортируемый код arxml
сохраняет сконфигурированную структуру AR-PACKAGE, распределенную на нескольких файлах.
Средство экспорта сопоставляет пакеты с файлами arxml
на основе пути к пакету, не на содержимом пакета или категории элемента. Например, средство экспорта сопоставляет ориентированный на тип данных пакет, /pkg/misc/myGround
, к файлу компонента, autosar_swc_exps_component.arxml
, на основе пути к пакету. Чтобы сгруппировать пакет с другими ориентированными на тип данных пакетами, и в структуре AR-PACKAGE и в arxml
вывод, задают путь к пакету, начинающийся с /pkg/dt/
.
autosar_swc_expfcns_component.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>swc</SHORT-NAME> ... <SHORT-NAME>misc</SHORT-NAME> ... <SHORT-NAME>MyGround</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES> autosar_swc_expfcns_interface.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>if</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES> autosar_swc_expfcns_datatype.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>dt</SHORT-NAME> ... <SHORT-NAME>SwBaseTypes</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES> autosar_swc_expfcns_implementation.arxml: <AR-PACKAGES> <AR-PACKAGE UUID="..."> <SHORT-NAME>pkg</SHORT-NAME> ... <SHORT-NAME>imp</SHORT-NAME> ... </AR-PACKAGE> </AR-PACKAGES>