В Simulink®, как альтернатива графической настройке, можно программно сконфигурировать компонент программного обеспечения AUTOSAR. Свойство AUTOSAR и функции карты позволяют вам получать, устанавливать, добавлять и удалять те же свойства компонентов и информацию об отображении, отображенную в редакторе Отображений Словаря и Кода AUTOSAR представления модели компонента AUTOSAR.
Можно использовать свойство AUTOSAR и сопоставить функции, чтобы программно сконфигурировать представление Simulink компонента программного обеспечения AUTOSAR. Например:
Используйте функции свойства AUTOSAR, чтобы добавить элементы AUTOSAR, найти элементы, получить и установить свойства элементов, удалить элементы и задать упаковку ARXML элементов.
Используйте функции карты AUTOSAR, чтобы сопоставить элементы модели Simulink с элементами 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 | Свойства |
---|---|
AtomicComponent |
|
ApplicationComponentBehavior |
|
DataReceiverPort DataSenderPort DataSenderReceiverPort ClientPort ServerPort ModeReceiverPort NvDataReceiverPort NvDataSenderPort NvDataSenderReceiverPort ParameterReceiverPort TriggerReceiverPort |
|
Runnable |
|
TimingEvent |
|
DataReceivedEvent DataReceiveErrorEvent OperationInvokedEvent |
|
ModeSwitchEvent |
|
InitEvent |
|
IrvData |
|
ParameterData |
|
SenderReceiverInterface NvDataInterface ParameterInterface |
|
FlowData |
|
ModeSwitchInterface |
|
ModeDeclarationGroupElement |
|
ClientServerInterface |
|
TriggerInterface |
|
Функции свойства 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
.