В Simulink®в качестве альтернативы графическое строение можно программно сконфигурировать программный компонент AUTOSAR. Свойство AUTOSAR и функции map позволяют вам получать, настраивать, добавлять и удалять те же свойства компонентов и информацию о отображении, отображаемую в представлениях редактора Dictionary и Code Mappings редактора модели компонента AUTOSAR.
Можно использовать свойство AUTOSAR и функции карты для программной настройки представления Simulink программного компонента AUTOSAR. Для примера:
Используйте функции свойства AUTOSAR, чтобы добавить элементы AUTOSAR, найти элементы, получить и задать свойства элементов, удалить элементы и задать упаковку элементов ARXML.
Используйте функции карты AUTOSAR, чтобы сопоставить элементы модели Simulink с элементами AUTOSAR и вернуть информацию отображения AUTOSAR для элементов модели.
Функции свойства и карты AUTOSAR также подтверждают синтаксис и семантику для запрошенного свойства AUTOSAR и изменений отображения.
Полный список функций свойств и карт см. в функциях, перечисленных для разработки компонентов.
Например, скрипты, см. Свойства AUTOSAR и Примеры функций Map.
Примечание
Дополнительные сведения о функциях для создания или импорта программного компонента 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 | Свойства |
---|---|
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
.