Сконфигурируйте и сопоставьте компонент AUTOSAR программно

В Simulink®, как альтернатива графической настройке, можно программно сконфигурировать компонент программного обеспечения AUTOSAR. Свойство AUTOSAR и функции карты позволяют вам получать, устанавливать, добавлять и удалять те же свойства компонентов и информацию об отображении, отображенную в редакторе Отображений Словаря и Кода AUTOSAR представления модели компонента AUTOSAR.

Свойство AUTOSAR и функции карты

Можно использовать свойство AUTOSAR и сопоставить функции, чтобы программно сконфигурировать представление Simulink компонента программного обеспечения AUTOSAR. Например:

  • Используйте функции свойства AUTOSAR, чтобы добавить элементы AUTOSAR, найти элементы, получить и установить свойства элементов, удалить элементы и задать упаковку ARXML элементов.

  • Используйте функции карты AUTOSAR, чтобы сопоставить элементы модели Simulink с элементами AUTOSAR и возвратить AUTOSAR отображение информации для элементов модели.

Свойство AUTOSAR и функции карты также подтверждают синтаксис и семантику для требуемого свойства AUTOSAR и сопоставляющих изменений.

Для полного списка свойства и функций карты, смотрите функции, перечисленные для Разработки Компонента.

Например, скрипты, см. Примеры Функции Свойства и Карты AUTOSAR.

Примечание

Для получения информации о функциях для создания или импорта компонента программного обеспечения AUTOSAR, смотрите Создание Компонента.

Структурный вид настройки AUTOSAR

Следующий структурный вид настройки AUTOSAR показывает типы элементов AUTOSAR, с которыми можно применить свойство AUTOSAR и сопоставить функции. Это представление соответствует отображению дерева Словаря AUTOSAR, но включает элементы, которые не могут присутствовать в каждой настройке. Имена показаны в italics выбраны пользователями.

  • AUTOSAR

    • AtomicComponents

      • MyComponent

        • ReceiverPorts

        • SenderPorts

        • SenderReceiverPorts

        • ModeReceiverPorts

        • ModeSenderPorts

        • ClientPorts

        • ServerPorts

        • NvReceiverPorts

        • NvSenderPorts

        • NvSenderReceiverPorts

        • ParameterReceiverPorts

        • TriggerReceiverPorts

        • Runnables

        • IRV

        • Параметры

    • Интерфейсы S-R

      • SRInterface1

        • DataElements

    • Интерфейсы M-S

      • MSInterface1

    • Интерфейсы C-S

      • CSInterface1

        • Операции

          • operation1

            • Аргументы

    • Интерфейсы NV

      • NVInterface1

        • DataElements

    • Интерфейсы параметра

      • ParameterInterface1

        • DataElements

    • Инициируйте интерфейсы

      • TriggerInterface1

        • Триггеры

    • CompuMethods

    • Опции XML

Свойства элементов AUTOSAR

В следующей таблице перечислены свойства, которые сопоставлены с элементами AUTOSAR.

Класс элемента AUTOSARСвойства
AtomicComponent
  • ReceiverPorts (добавить/удалить)

  • SenderPorts (добавить/удалить)

  • SenderReceiverPorts (добавить/удалить)

  • ModeReceiverPorts (добавить/удалить)

  • ClientPorts (добавить/удалить)

  • ServerPorts (добавить/удалить)

  • NvReceiverPorts (добавить/удалить)

  • NvSenderPorts (добавить/удалить)

  • NvSenderReceiverPorts (добавить/удалить)

  • ParameterReceiverPorts (добавить/удалить)

  • TriggerReceiverPorts (добавить/удалить)

  • Behavior (добавить/удалить)

  • Kind

  • Name

ApplicationComponentBehavior
  • Runnables (добавить/удалить)

  • Events (добавить/удалить)

  • PIM (добавить/удалить)

  • IRV (добавить/удалить)

  • Parameters (добавить/удалить)

  • IncludedDataTypeSets

  • DataTypeMapping

  • Name

DataReceiverPort
DataSenderPort
DataSenderReceiverPort
ClientPort
ServerPort
ModeReceiverPort
NvDataReceiverPort
NvDataSenderPort
NvDataSenderReceiverPort
ParameterReceiverPort
TriggerReceiverPort
  • Interface

  • Name

Runnable
  • symbol

  • canBeInvokedConcurrently

  • SwAddrMethod

  • Name

TimingEvent
  • Period

  • StartOnEvent

  • DisabledMode

  • Name

DataReceivedEvent
DataReceiveErrorEvent
OperationInvokedEvent
  • Trigger

  • StartOnEvent

  • DisabledMode

  • Name

ModeSwitchEvent
  • Trigger

  • Activation

  • StartOnEvent

  • DisabledMode

  • Name

InitEvent
  • StartOnEvent

  • Name

IrvData
  • Type

  • SwAddrMethod

  • SwCalibrationAccess

  • DisplayFormat

  • SwAlignment

  • Name

ParameterData
  • Type

  • SwAddrMethod

  • SwCalibrationAccess

  • DisplayFormat

  • SwAlignment

  • Kind

  • Name

SenderReceiverInterface
NvDataInterface
ParameterInterface
  • DataElements (добавить/удалить)

  • IsService

  • Name

FlowData
  • Type

  • SwAddrMethod

  • SwCalibrationAccess

  • DisplayFormat

  • SwAlignment

  • Name

ModeSwitchInterface
  • ModeGroup (добавить/удалить)

  • IsService

  • Name

ModeDeclarationGroupElement
  • ModeGroup

  • SwCalibrationAccess

  • Name

ClientServerInterface
  • Operations (добавить/удалить)

  • IsService

  • Name

TriggerInterface
  • Triggers (добавить/удалить)

  • IsService

  • Name

Задайте местоположение элемента AUTOSAR

Функции свойства AUTOSAR обычно требуют, чтобы вы задали название и местоположение элемента. Местоположение элемента AUTOSAR в иерархии пакетов AUTOSAR и объектов может быть исключительно задано с помощью полностью определенного пути. Полностью определенный путь может включать иерархию пакета и местоположение элемента в иерархии объектов, например:

/pkgLevel1/pkgLevel2/pkgLevel3/grandParentName/parentName/childName

Для AUTOSAR свойство функционирует кроме addPackageableElement, можно задать частично квалифицированный путь, который не включает иерархию пакета, например:

grandParentName/parentName/childName

Следующие кодовые наборы IsService свойство для Интерфейса Приемника Отправителя, расположенного в пути Interface1 в модели autosar_swc_expfcns в качестве примера к true. В этом случае, задавая имя Interface1 достаточно должен определить местоположение элемента.

hModel = 'autosar_swc_expfcns';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
arProps = autosar.api.getAUTOSARProperties(hModel);
set(arProps,'Interface1','IsService',true);

Вот получившееся отображение в представлении S-R Interfaces в Словаре AUTOSAR.

Если бы вы добавили Интерфейс Приемника Отправителя в пакет компонента, вы задали бы полностью определенный путь, например:

hModel = 'autosar_swc_expfcns';
addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
open_system(hModel);
arProps = autosar.api.getAUTOSARProperties(hModel);
addPackageableElement(arProps,'SenderReceiverInterface','/pkg/if','Interface3',...
   'IsService',true);

Потенциальное преимущество использования частично квалифицированного пути, а не полностью определенного пути состоит в том, что легче создать частично квалифицированный путь из рассмотрения представления AUTOSAR Dictionary компонента AUTOSAR. Потенциальный недостаток - то, что частично квалифицированный путь мог обратиться больше чем к одному элементу в настройке AUTOSAR. Например, путь s/r очевидно может определять и элемент данных Интерфейса Приемника Отправителя и выполнимый из компонента. Когда конфликт происходит, программное обеспечение отображает ошибку и перечисляет полностью определенные пути.

Большинство элементов AUTOSAR имеет свойства, которые составлены из нескольких частей (составной объект). Например, атомарный компонент программного обеспечения имеет составные свойства, такие как ReceiverPorts, SenderPorts, и InternalBehavior. Для элементов, которые имеют составные свойства, которыми можно управлять, такие как свойство ReceiverPorts из компонента дочерние элементы называют и исключительно задают в родительском элементе. Чтобы определить местоположение дочернего элемента в составном свойстве, используйте путь к родительскому элементу и дочернее имя без имени свойства. Например, если квалифицированным путем родительского атомарного компонента программного обеспечения является /A/B/SWC, и дочерний порт приемника называют RPort1, местоположением порта приемника является /A/B/SWC/RPort1.