exponenta event banner

Настройка пакетов AUTOSAR

В Simulink ® можно изменить иерархическую структуру пакета AUTOSAR, определенную стандартом AUTOSAR, который Embedded Coder ® экспортирует в код ARXML.

Структура AR-PACKAGE

Стандарт AUTOSAR определяет пакеты AUTOSAR (AR-PACKAGEs). AR-PACKAGE содержат группы элементов AUTOSAR и находятся в иерархической структуре AR-PACKAGE. В средстве разработки AUTOSAR (AAT) или в Simulink структуру AR-PACKAGE можно настроить следующим образом:

  • Соответствие организационной или стандартизированной структуре AR-PACKAGE.

  • Создание пространства имен для элементов в пакете.

  • Создание основы для относительных ссылок на элементы.

Импортер ARXML импортирует AR-PACKAGEs, их элементы и пути в Simulink. Конфигурация модели сохраняет пакеты для последующего экспорта в код ARXML. Как правило, программное обеспечение сохраняет пакеты AUTOSAR во время поездок в оба конца между AAT и Simulink.

Если компонент AUTOSAR был создан в Simulink при создании компонента, построитель компонентов AUTOSAR создает начальную структуру AR-PACKAGE по умолчанию, содержащую следующие пакеты.

  • Компоненты программного обеспечения

  • Типы данных

  • Интерфейсы портов

  • Внедрение

Например, предположим, что вы начинаете с простой модели Simulink, такой как rtwdemo_counter. Переименовать в mySWC. Настройте модель для генерации кода AUTOSAR. (Например, откройте окно быстрого запуска встроенного кодера и выберите создание кода AUTOSAR.) При построении модели ее начальная структура AR-PACKAGE напоминает следующий рисунок.

После создания компонента можно использовать представление Параметры XML в словаре AUTOSAR для указания дополнительных пакетов AR. (См. раздел Настройка параметров AUTOSAR XML или Настройка параметров AUTOSAR Adaptive XML.) Каждый AR-PACKAGE представляет категорию элементов AUTOSAR. При создании кода экспортер ARXML генерирует пакет, если в модели существуют какие-либо элементы его категории. Для каждого пакета указывается путь, определяющий его расположение в структуре AR-PACKAGE.

С помощью параметров XML можно настроить пакеты AUTOSAR для следующих категорий элементов AUTOSAR:

  • Типы данных приложения

  • Типы баз программного обеспечения

  • Наборы сопоставлений типов данных

  • Константы и значения

  • Физические ограничения данных (ссылаются на типы данных приложений или прототипы данных)

  • Системные константы

  • Методы адреса программного обеспечения

  • Группы объявления режима

  • Методы расчета

  • Единицы и группы единиц

  • Форматы записей программного обеспечения (для типов данных приложений категории CURVE, MAP, CUBOID или COM_AXIS)

  • Внутренние ограничения данных (ссылаются на типы данных реализации)

Примечание

  • Для пакетов, определенных в параметрах XML, экспортер ARXML создает пакет только в том случае, если модель содержит элемент категории пакета. Например, экспортер генерирует пакет методов адресов программного обеспечения только в том случае, если модель содержит элемент методов адресов программного обеспечения.

  • Для перечисленных элементов можно указать отдельные пакеты, например, типы данных приложения. Типы данных реализации агрегируются в основном пакете типов данных.

Структура AR-PACKAGE логически отличается от однофайлового или модульного разбиения файлов, которое можно выбрать для экспорта ARXML, используя опцию XML Экспортированная упаковка XML-файлов. Дополнительные сведения об экспорте пакета AUTOSAR см. в разделе Расположение AR-PACKAGE в экспортированных файлах ARXML.

Настройка пакетов и путей AUTOSAR

При импорте структуры AR-PACKAGE в Simulink импортер ARXML сохраняет отношения «пакет-элемент» и пути к пакету, определенные в коде ARXML. Кроме того, импортер заполняет свойства упаковки в представлениях компонентов и XML Options в словаре AUTOSAR. Если код ARXML не присваивает пакетам элементы AUTOSAR на основе категории, импортер использует эвристику для определения оптимальной связи категорий для пакета. Однако с категорией может быть связан максимум один пакет.

Предположим, что вы начинаете с модели Simulink, отличной от AUTOSAR, и настраиваете модель для генерации кода AUTOSAR. (Например, откройте окно быстрого запуска встроенного кодера и выберите создание кода AUTOSAR.) Программа создает начальную структуру AR-PACKAGE по умолчанию. После создания компонента в представлении компонента в словаре AUTOSAR отображаются параметры XML компонента, включая пути пакета для компонента, внутреннее поведение и реализацию.

В представлении «Параметры XML» отображаются пути для типов данных AUTOSAR и пакетов интерфейса, а также дополнительные пакеты.

С помощью подпанели Дополнительные пакеты можно заполнить поля пути для дополнительных пакетов или оставить их пустыми. Если оставить поле пакета пустым и если модель содержит упаковываемые элементы этой категории, экспортер ARXML использует внутренние правила для вычисления пути пакета. Применение внутренних правил обратно совместимо с более ранними версиями. В следующей таблице перечислены свойства упаковки опций XML с путями пакетов по умолчанию на основе правил.

Имя свойстваПути пакетов на основе внутренних правил
InternalBehaviorQualifiedName/Components/InternalBehaviors/modelname_IB
ImplementationQualifiedName/Components/SwcImplementations/modelname_Impl
ComponentQualifiedName/Components/modelname
(в диалоговом окне отображается путь к компоненту без краткого имени)
DataTypePackage/DataTypes
InterfacePackage/Interfaces
ApplicationDataTypePackageDataTypePackage/ApplDataTypes
SwBaseTypePackageDataTypePackage/SwBaseTypes
DataTypeMappingPackageDataTypePackage/DataTypeMappings
ConstantSpecificationPackageDataTypePackage/Constants
DataConstraintPackageApplicationDataTypePackage/DataConstrs
SystemConstantPackageDataTypePackage/SystemConstants
SwAddressMethodPackageDataTypePackage/SwAddrMethods
ModeDeclarationGroupPackageDataTypePackage/ModeDeclarationGroups
CompuMethodPackageDataTypePackage/CompuMethods
UnitPackageDataTypePackage/Units
SwRecordLayoutPackageDataTypePackage/SwRecordLayouts
InternalDataConstraintPackageDataTypePackage/DataConstrs

Чтобы задать свойство упаковки в командном окне MATLAB ® или в сценарии, используйте свойство AUTOSARset вызов функции аналогично следующему:

hModel = 'autosar_swc_counter';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
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, на которые влияют изменения пути пакета

Если изменяется путь к пакету AUTOSAR и затрагиваются упаковываемые элементы этой категории, можно:

  • Переместите элементы из существующего пакета в новый пакет.

  • Задайте новый путь к пакету без перемещения элементов.

Если изменить путь к пакету в словаре AUTOSAR и затронуть упаковываемые элементы этой категории, откроется диалоговое окно. Например, если изменить параметр XML ConstantSpecification Package из значения пути /pkg/dt/Ground кому /pkg/misc/MyGround, программа открывает следующее диалоговое окно.

Чтобы переместить элементы спецификации константы AUTOSAR в новый пакет, нажмите кнопку ОК. Чтобы задать путь к новому пакету без перемещения элементов, нажмите кнопку Отмена.

При программном изменении пути к пакету можно использовать MoveElements для указания обработки затронутых элементов. Свойство может иметь значение All (по умолчанию), None, или Alert. При указании Alertи если затрагиваются упакованные элементы, программа открывает диалоговое окно с помощью кнопок OK и Cancel.

Например, следующий код задает новый путь к пакету спецификаций констант без перемещения существующих элементов спецификаций констант в новый пакет.

hModel = 'autosar_swc_expfcns';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
arProps = autosar.api.getAUTOSARProperties(hModel);
set(arProps,'XmlOptions','ConstantSpecificationPackage','/pkg/misc/MyGround',...
    'MoveElements','None');

Экспорт пакетов AUTOSAR

В этом примере показано, как настроить и экспортировать пакеты AUTOSAR для программного компонента AUTOSAR, созданного в Simulink.

  1. Откройте модель, настроенную для целевого файла системы AUTOSAR и моделирующую программный компонент AUTOSAR. В этом примере используется пример модели autosar_swc_expfcns.

  2. Откройте словарь AUTOSAR и выберите Параметры XML. Ниже приведены начальные настройки некоторых параметров пакета AUTOSAR.

    В этом примере для экспортированной упаковки XML-файлов установлено значение Single file, который генерирует единый унифицированный файл ARXML. Если требуется несколько модульных файлов ARXML, измените значение на Modular.

  3. Настройте пакеты для одного или нескольких элементов AUTOSAR, экспортируемых моделью в код ARXML. Для каждого пакета введите путь для определения его местоположения в структуре AR-PACKAGE. Нажмите кнопку «Применить».

    Пример модели экспортирует несколько спецификаций констант AUTOSAR. В этом примере изменяется параметр ConstantSpecification Package с /pkg/dt/Ground кому /pkg/misc/MyGround.

  4. Создайте код для модели.

  5. Открыть созданный файл modelname.arxml. (Если для параметра «Экспортированная упаковка XML-файлов» задано значение Modular, откройте созданный файл modelname_datatype.arxml.)

  6. Найдите в XML-коде настроенные пакеты, например, с помощью текстового AR-PACKAGE или имени элемента. В примере модели поиск autosar_swc_expfcns.arxml для текста MyGround находит постоянный пакет спецификации и множество ссылок на него. Вот пример фрагмента кода.

Расположение AR-PACKAGE в экспортированных файлах ARXML

Группирование элементов AUTOSAR в пакеты AUTOSAR (AR-PACKAGEs) логически отличается от пакета выходных файлов ARXML, который контролирует параметр конфигурации AUTOSAR Экспортированный пакет XML-файлов. Устанавливается ли для параметра Экспортированная упаковка XML-файлов значение Single file или Modular, экспорт ARXML сохраняет сконфигурированную структуру AR-PACKAGE.

Предположим, что пример модели настроен autosar_swc_expfcns со следующей структурой AR-PACKAGE. (См. шаги в разделе Экспорт пакетов AUTOSAR.) В этой конфигурации путь к пакету спецификаций констант был изменен по сравнению с исходной настройкой модели. /pkg/dt/GroundКому /pkg/misc/myGround.

При экспорте этой структуры AR-PACKAGE в один файл (для параметра Экспортированная упаковка XML-файлов установлено значение Single file) экспортированный код ARXML сохраняет сконфигурированную структуру AR-PACKAGE.

autosar_swc_expfcns.arxml:

<AR-PACKAGES>
    <AR-PACKAGE>
        <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 в несколько файлов (для параметра Экспортированная упаковка XML-файлов установлено значение Modular) экспортированный код ARXML сохраняет сконфигурированную структуру AR-PACKAGE, распределенную по нескольким файлам.

Экспортер сопоставляет упаковываемые элементы AUTOSAR с файлами ARXML на основе категории элементов, а не пути к пакету. Например, экспортер отображает ориентированный на тип данных ConstantSpecification пакет, /pkg/misc/myGround, для типов данных ARXML файл, autosar_swc_expfcns_datatype.arxml.

autosar_swc_expfcns_component.arxml:

<AR-PACKAGES>
    <AR-PACKAGE>
        <SHORT-NAME>pkg</SHORT-NAME>
        ...
                <SHORT-NAME>swc</SHORT-NAME>
                ...
    </AR-PACKAGE>
</AR-PACKAGES>

autosar_swc_expfcns_datatype.arxml:

<AR-PACKAGES>
    <AR-PACKAGE>
        <SHORT-NAME>pkg</SHORT-NAME>
        ...
                <SHORT-NAME>dt</SHORT-NAME>
                ...
                        <SHORT-NAME>SwBaseTypes</SHORT-NAME>
                        ...
                <SHORT-NAME>misc</SHORT-NAME>
                ...
                        <SHORT-NAME>MyGround</SHORT-NAME>
                        ...   
    </AR-PACKAGE>
</AR-PACKAGES>

autosar_swc_expfcns_implementation.arxml:

<AR-PACKAGES>
    <AR-PACKAGE>
        <SHORT-NAME>pkg</SHORT-NAME>
        ...
                <SHORT-NAME>imp</SHORT-NAME>
                ...
    </AR-PACKAGE>
</AR-PACKAGES>

autosar_swc_expfcns_interface.arxml:

<AR-PACKAGES>
    <AR-PACKAGE>
        <SHORT-NAME>pkg</SHORT-NAME>
        ...
                <SHORT-NAME>if</SHORT-NAME>
                ...
    </AR-PACKAGE>
</AR-PACKAGES>

Связанные примеры

Подробнее