importFromARXML

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

Описание

пример

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

пример

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

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

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

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

  • Опции компонента, применяемые при создании моделей поведения Simulink для импортированных программных компонентов AUTOSAR. Для примера как смоделировать периодические runnables, или 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 импортирует периодические runnables AUTOSAR, найденные в файлах ARXML, и моделирует их как атомарные подсистемы с периодическими скоростями. Если условия препятствуют использованию атомарных подсистем, импортер выдает ошибку.

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

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

Дополнительные сведения см. в разделе Импорт программного компонента 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