exponenta event banner

importFromARXML

Импорт композиции из файлов ARXML в архитектурную модель AUTOSAR

Описание

пример

importFromARXML(archModel,arxmlInput,compQName) состав импорта compQName от arxmlInput в архитектурную модель archModel. archModel аргумент - дескриптор модели архитектуры, возвращенный предыдущим вызовом autosar.arch.createModel или autosar.arch.loadModel. Для импорта композиции требуется открытая модель архитектуры AUTOSAR без функционального содержимого.

пример

importFromARXML(archModel,arxmlInput,compQName,Name,Value) указывает дополнительные параметры импорта с одним или несколькими Name,Value аргументы пары. Можно указать:

  • Включение или исключение программных компонентов AUTOSAR, определяющих поведение композиции. По умолчанию импорт включает компоненты в композицию.

  • Словарь данных Simulink ® для размещения объектов данных для импортированных типов данных AUTOSAR.

  • Имена существующих моделей поведения Simulink для связи с импортированными компонентами программного обеспечения AUTOSAR.

  • Параметры компонента, применяемые при создании моделей поведения Simulink для импортированных компонентов программного обеспечения AUTOSAR. Например, как моделировать периодические выполнения или PredefinedVariant или SwSystemconstantValueSets, с помощью которых можно разрешить точки изменения компонента.

Примеры

свернуть все

Этот пример:

  1. Создание архитектурной модели AUTOSAR myArchModel.

  2. Импортирует состав программного обеспечения /Company/Components/ThrottlePositionControlComposition из файла примера AUTOSAR ThrottlePositionControlComposition.arxml в архитектурную модель.

Файл ARXML находится в matlabroot/examples/autosarblockset/data, который находится в пути поиска MATLAB ® по умолчанию.

% Create AUTOSAR architecture model
modelName = "myArchModel";
archModel = autosar.arch.createModel(modelName);

% Import composition from file ThrottlePositionControlComposition.arxml
importerObj = arxml.importer("ThrottlePositionControlComposition.arxml");  % Parse ARXML
importFromARXML(archModel,importerObj,...
  "/Company/Components/ThrottlePositionControlComposition");
Creating model 'ThrottlePositionSensor' for component 1 of 5:
  /Company/Components/ThrottlePositionSensor
Creating model 'ThrottlePositionMonitor' for component 2 of 5:
  /Company/Components/ThrottlePositionMonitor
Creating model 'Controller' for component 3 of 5:
  /Company/Components/Controller
Creating model 'AccelerationPedalPositionSensor' for component 4 of 5:
  /Company/Components/AccelerationPedalPositionSensor
Creating model 'ThrottlePositionActuator' for component 5 of 5:
  /Company/Components/ThrottlePositionActuator
Importing composition 1 of 1:
  /Company/Components/ThrottlePositionControlComposition

В этом примере показан синтаксис вызова функции:

  1. Создайте архитектурную модель AUTOSAR без функционального содержимого.

  2. Импорт состава программного обеспечения AUTOSAR /pkg/rootComposition из файла с именем mySWCs.arxml в архитектурную модель.

  3. Для компонентов программного обеспечения mySwc1 и mySwc2 содержащиеся в составе, связывают существующие модели компонентов Simulink, а не создают новые.

% Create AUTOSAR architecture model
modelName = 'myArchModel';
archModel = autosar.arch.createModel(modelName);

% Import composition from ARXML file and link existing component models
importFromARXML(archModel,'mySWCs.arxml','/pkg/rootComposition',...
  'ComponentModels',{'mySwc1','mySwc2'})

В этом примере показан синтаксис вызова функции:

  1. Создайте архитектурную модель AUTOSAR без функционального содержимого.

  2. Импорт состава программного обеспечения AUTOSAR /CompositionType/myComposition из файла с именем myComposition.arxml в архитектурную модель.

  3. Для каждого программного компонента, содержащегося в составе, во время создания модели компонента использовать PredefinedVariant Старший для разрешения вариационных точек в компоненте.

% Create AUTOSAR architecture model
modelName = "myArchModel";
archModel = autosar.arch.createModel(modelName);

% Import composition from ARXML file and use PredefinedVariant for components
importerObj = arxml.importer("MyComposition.arxml"); % Import AUTOSAR information
importFromARXML(archModel,importerObj,"/CompositionType/myComposition",...
  "PredefinedVariant","/pkg/body/Variants/Senior"););

Входные аргументы

свернуть все

Модель архитектуры AUTOSAR, в которую необходимо импортировать указанную композицию. Аргумент является дескриптором модели архитектуры, возвращенным предыдущим вызовом autosar.arch.createModel или autosar.arch.loadModel.

Пример: archModel

Файлы ARXML, из которых необходимо импортировать указанную композицию, указанные как одно из следующих:

  • Дескриптор информации AUTOSAR, импортированной из файлов ARXML, ранее возвращенной importerObj = arxml.importer(arxmlFiles).

  • Одно или несколько имен ARXML-файлов.

Пример: importerObj, "myComposition.arxml"

Абсолютный путь с коротким именем (квалифицированное имя) композиции для импорта в указанную модель композиции или архитектуры.

Пример: "/CompositionType/myComposition"

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'DataDictionary','ardata.sldd' указывает импортеру поместить объекты данных, соответствующие импортированным типам данных AUTOSAR, в указанный словарь данных Simulink.

Имена существующих моделей компонентов атомарного программного обеспечения, которые необходимо связать при создании представления композиции Simulink. Для компонентов, содержащихся в композиции, следует связать указанные модели поведения компонентов вместо создания новых.

Пример: 'ComponentModels',{'mySwc1','mySwc2'}

Словарь данных Simulink, в который помещаются объекты данных, соответствующие импортированным типам данных AUTOSAR. Если указанный словарь не существует, его создает импортер. Затем композиция и ее компоненты связываются с этим словарем данных.

Пример: 'DataDictionary','ardata.sldd'

Укажите, следует ли разрешать (по умолчанию) или подавлять импорт компонентов программного обеспечения, определяющих поведение композиции. Если импорт компонента подавлен (true), импорт по-прежнему связывает модели, указанные ComponentModels аргумент.

Пример: 'ExcludeInternalBehavior',true

По умолчанию при импорте компонента программного обеспечения, содержащегося в составе, importFromARXML импортирует периодические таблицы выполнения AUTOSAR, найденные в файлах ARXML, и моделирует их как атомарные подсистемы с периодическими скоростями. Если условия препятствуют использованию атомных подсистем, импортер выдает ошибку.

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

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

Дополнительные сведения см. в разделе Импорт программного компонента AUTOSAR с несколькими модулями выполнения.

Пример: 'ModelPeriodicRunnablesAs','AtomicSubsystem'

Путь к PredefinedVariant определяется в файлах ARXML. A PredefinedVariant описывает комбинацию значений системных констант среди потенциально нескольких допустимых комбинаций для применения к программному компоненту AUTOSAR. Это свойство используется для разрешения вариационных точек в программном компоненте AUTOSAR во время создания модели компонента. Если указано, импортер использует PredefinedVariant инициализировать SwSystemconst данные, которые служат в качестве входных данных для управления точками изменения.

Дополнительные сведения см. в разделе Управление вариантами AUTOSAR с предварительно определенными комбинациями значений.

Пример: 'PredefinedVariant','/pkg/body/Variants/Senior'

Пути к одному или нескольким SystemConstValueSets, определенные в файлах ARXML. A SystemConstValueSet задает набор значений системных констант для применения к программному компоненту AUTOSAR. Это свойство используется для разрешения вариационных точек в программном компоненте AUTOSAR во время создания модели компонента. Если указано, импортер использует SystemConstValueSets для инициализации SwSystemconst данные, которые служат в качестве входных данных для управления точками изменения.

Дополнительные сведения см. в разделе Управление вариантами AUTOSAR с предварительно определенными комбинациями значений.

Пример: 'SystemConstValueSets','{'/pkg/body/SystemConstantValues/A','/pkg/body/SystemConstantValues/B'}'

Представлен в R2020b