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

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

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

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

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

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

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

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

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

Примечание

Дополнительные сведения о функциях для создания или импорта программного компонента AUTOSAR см. в разделе «Создание компонентов».

Древовидное представление строения AUTOSAR

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

  • АВТО-РСА

    • 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.