В Simulink ® в качестве альтернативы графической конфигурации можно программно настроить программный компонент AUTOSAR. Свойства AUTOSAR и функции отображения позволяют получать, задавать, добавлять и удалять те же свойства компонента и информацию о сопоставлении, которые отображаются в представлениях редактора словарей AUTOSAR и сопоставлений кодов модели компонента AUTOSAR.
Для программной настройки представления Simulink программного компонента AUTOSAR можно использовать свойства 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 |
|
DataReceiverPortDataSenderPortDataSenderReceiverPortClientPortServerPortModeReceiverPortNvDataReceiverPortNvDataSenderPortNvDataSenderReceiverPortParameterReceiverPortTriggerReceiverPort |
|
Runnable |
|
TimingEvent |
|
DataReceivedEventDataReceiveErrorEventOperationInvokedEvent |
|
ModeSwitchEvent |
|
InitEvent |
|
IrvData |
|
ParameterData |
|
SenderReceiverInterfaceNvDataInterfaceParameterInterface |
|
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.