Сконфигурируйте пакеты AUTOSAR

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

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

Стандарт 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 или Конфигурируют Адаптивные Опции XML AUTOSAR.) Каждый 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.

Сконфигурируйте пакеты AUTOSAR и пути

Если вы импортируете структуру 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 Пути к пакету на основе внутренних правил
InternalBehaviorQualifiedNamemodelname_pkg/modelname_ib/modelname
ImplementationQualifiedNamemodelname_pkg/modelname_imp/modelname
ComponentQualifiedNamemodelname_pkg/modelname_swc/modelname
(диалоговое окно отображается путь компонента без краткого названия),
DataTypePackagemodelname_pkg/modelnamedt
InterfacePackagemodelname_pkg/modelname_if
ApplicationDataTypePackageDataTypePackage/ApplDataTypes
SwBaseTypePackageDataTypePackage/SwBaseTypes
DataTypeMappingPackageDataTypePackageОтображения типа данных
ConstantSpecificationPackageDataTypePackage/ Земля
DataConstraintPackageApplicationDataTypePackage/DataConstrs
SystemConstantPackageDataTypePackage/SystemConstants
SwAddressMethodPackageDataTypePackage/SwAddrMethods
ModeDeclarationGroupPackageDataTypePackage
CompuMethodPackageDataTypePackage
UnitPackageDataTypePackage
SwRecordLayoutPackageApplicationDataTypePackage/RecordLayouts
InternalDataConstraintPackageDataTypePackage/DataConstrs

Чтобы установить упаковочное свойство в Командном окне 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, затронутыми модификациями пути к пакету

Если вы изменяете путь к пакету 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 для компонента программного обеспечения AUTOSAR, который произошел в Simulink.

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

  2. Откройте Словарь AUTOSAR и выберите XML Options. Вот начальные установки для некоторых параметров пакета AUTOSAR.

    В этом примере Exported XML file packaging установлен в Single file, который генерирует один, объединенный arxml файл. Если вы предпочитаете несколько, модульный arxml файлы, измените настройки к Modular.

  3. Сконфигурируйте пакеты для одного или нескольких элементов AUTOSAR, которые ваша модель экспортирует в arxml код. Для каждого пакета введите путь, чтобы задать его местоположение в структуре AR-PACKAGE. Нажмите Apply.

    Модель в качестве примера экспортирует несколько постоянных спецификаций AUTOSAR. Этот пример устанавливает параметр ConstantSpecification Package на /pkg/misc/MyGround. (Это значение заменяет основанное на правилах значение по умолчанию, /pkg/dt/Ground.)

  4. Сгенерируйте код для модели.

  5. Откройте сгенерированный файл modelname.arxml. (Если вы устанавливаете Exported XML file packaging на Modular, откройте сгенерированный файл modelname_component.arxml.)

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

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

Группировка элементов 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>

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

Больше о