Импортируйте XML-описания AUTOSAR в Simulink

В Simulink®, можно импортировать описания компонентов программного обеспечения AUTOSAR, составы или совместно использованные элементы из AUTOSAR XML (ARXML) файлы. Вы используете средство импорта ARXML, которое реализовано как arxml.importer объект. Для получения дополнительной информации смотрите Средство импорта AUTOSAR ARXML.

Средство импорта ARXML обеспечивает следующие функции:

  • arxml.importer — Создайте объект средства импорта, который представляет описания программного обеспечения AUTOSAR в заданном файле ARXML или файлах.

  • getComponentNames — Получите имена компонента программного обеспечения AUTOSAR от файлов ARXML.

  • createComponentAsModel — Создайте представление Simulink атомарного компонента программного обеспечения AUTOSAR.

  • createCompositionAsModel — Создайте представление Simulink состава программного обеспечения AUTOSAR.

  • updateModel — Обновите существующую модель AUTOSAR с внешними обновлениями ARXML ранее импортированного компонента или состава.

  • updateAUTOSARProperties — Обновите существующую модель компонента AUTOSAR с пакетами определений элемента, которые являются общими для компонентами.

После того, как вы импортируете свой компонент программного обеспечения или состав в Simulink, можно разработать поведение и настройку модели состава или компонента. Чтобы совершенствовать настройку компонента, см. Настройку Компонента AUTOSAR.

Чтобы сконфигурировать опции генерации кода AUTOSAR и опции экспорта XML, смотрите, Конфигурируют Генерацию кода AUTOSAR.

Чтобы помочь поддержать цикл обработки элементов AUTOSAR между Инструментом разработки AUTOSAR (AAT) и средой модельно-ориентированного проектирования Simulink, консервы импорта ARXML импортировали структуру XML-файла AUTOSAR, элементы и элемент универсальные уникальные идентификаторы (UUIDs) для экспорта ARXML. Для получения дополнительной информации смотрите Сохранение Туда и обратно Структуры XML-файла AUTOSAR и Информации об элементе.

Создайте объект средства импорта ARXML

Прежде чем вы импортируете описания ARXML в Simulink, вызовите arxml.importer функция. Задайте имена одного или нескольких файлов ARXML, которые содержат описания компонентов программного обеспечения AUTOSAR, составы или совместно использованные элементы. Функция анализирует описания в заданных файлах ARXML и создает объект средства импорта, который представляет проанализированную информацию. Последующие вызовы createComponentAsModel или другие функции средства импорта ARXML должны задать объект средства импорта.

Например, этот вызов задает основной файл компонента программного обеспечения AUTOSAR, mr_component.arxml, и связанные зависимые файлы, содержащие тип данных, реализацию и интерфейсную информацию, которая завершает описание компонента программного обеспечения.

ar = arxml.importer({'mr_component.arxml','mr_datatype.arxml',...
                     'mr_implementation.arxml','mr_interface.arxml'})

Этот вызов задает файл ARXML, ThrottlePositionControlComposition.arxml, который описывает состав программного обеспечения AUTOSAR и его агрегированные компоненты AUTOSAR. Файл ARXML расположен в matlabroot/examples/autosarblockset/data, который находится на MATLAB по умолчанию® путь поиска файлов.

ar = arxml.importer('ThrottlePositionControlComposition.arxml')

Если вы вводите arxml.importer вызов функции без завершающей работу точки с запятой (;), средство импорта перечисляет содержимое AUTOSAR заданного XML-файла или файлов. Информация включает пути к компонентам программного обеспечения в структуре пакета AUTOSAR, которую вы используете на следующем шаге.

В этом примере, пути к составу программного обеспечения ThrottlePositionControlComposition /Company/Components/ThrottlePositionControlComposition. Путь к компоненту программного обеспечения Controller /Company/Components/Controller.

ar =
The file "path/ThrottlePositionControlComposition.arxml" contains:
  1 Composition-Software-Component-Type:
    '/Company/Components/ThrottlePositionControlComposition'
  2 Application-Software-Component-Type:
    '/Company/Components/Controller'
    '/Company/Components/ThrottlePositionMonitor'
  3 Sensor-Actuator-Software-Component-Type:
    '/Company/Components/AccelerationPedalPositionSensor'
    '/Company/Components/ThrottlePositionActuator'
    '/Company/Components/ThrottlePositionSensor'

Импортируйте компонент программного обеспечения и создайте модель

Чтобы импортировать проанализированный атомарный компонент программного обеспечения в модель Simulink, вызовите createComponentAsModel функция. Задайте объект средства импорта ARXML и компонент, чтобы создать как модель. Проанализированные файлы ARXML должны задать все зависимости для компонента.

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

ar = arxml.importer('ThrottlePositionControlComposition.arxml');
names = getComponentNames(ar)
names = 5x1 cell
    {'/Company/Components/Controller'                     }
    {'/Company/Components/ThrottlePositionMonitor'        }
    {'/Company/Components/AccelerationPedalPositionSensor'}
    {'/Company/Components/ThrottlePositionActuator'       }
    {'/Company/Components/ThrottlePositionSensor'         }
createComponentAsModel(ar,'/Company/Components/Controller',...
    'ModelPeriodicRunnablesAs','AtomicSubsystem');

'ModelPeriodicRunnablesAs' аргумент управляет ли модели AUTOSAR средства импорта периодический runnables как атомарные подсистемы с периодическими уровнями (значение по умолчанию) или подсистемы вызова функций с периодическими уровнями. Задайте AtomicSubsystem если ваш проект не требует использования подсистем вызова функций. Для получения дополнительной информации смотрите Импорт Компонент программного обеспечения AUTOSAR с Несколькими Runnables.

Чтобы импортировать Объекты данных Simulink для данных AUTOSAR в словарь данных Simulink, можно установить 'DataDictionary' аргумент на создании модели. Если заданный словарь уже не существует, средство импорта создает его.

Чтобы явным образом назвать выполнимое AUTOSAR как инициализацию выполнимым в компоненте, используйте 'InitializationRunnable' аргумент на создании модели.

Для получения дополнительной информации смотрите createComponentAsModel страница с описанием и Импорт в качестве примера Компонент AUTOSAR к Simulink.

Импортируйте состав программного обеспечения и создайте модели

Чтобы импортировать проанализированный атомарный состав программного обеспечения в модель Simulink, вызовите createCompositionAsModel функция. Задайте объект средства импорта ARXML и состав, чтобы создать как модель. Проанализированные файлы ARXML должны задать все зависимости для состава.

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

ar = arxml.importer('ThrottlePositionControlComposition.arxml');
names = getComponentNames(ar,'Composition')
names = 1x1 cell array
    {'/Company/Components/ThrottlePositionControlComposition'}
createCompositionAsModel(ar,'/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
Creating model 'ThrottlePositionControlComposition' for composition 1 of 1:
 /Company/Components/ThrottlePositionControlComposition

Чтобы включать существующий Simulink атомарные модели компонента программного обеспечения в модель состава, используйте 'ComponentModels' аргумент на создании модели состава.

Для получения дополнительной информации смотрите createCompositionAsModel страница с описанием и Импорт в качестве примера Состав AUTOSAR к Simulink.

Для составов, содержащих больше чем 20 компонентов программного обеспечения, совместно используя свойства AUTOSAR среди компонентов, может значительно улучшать производительность и уменьшать дублирование для рабочих процессов состава. Чтобы сконфигурировать импорт состава, чтобы сохранить свойства AUTOSAR для совместного использования компонента, используйте 'DataDictionary' и 'ShareAUTOSARProperties' аргументы. Для получения дополнительной информации смотрите createCompositionAsModel страница с описанием и Импорт в качестве примера Состав AUTOSAR и Доля Словарь AUTOSAR.

Импортируйте компонент или состав внешние обновления в модель

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

Следующий пример обновляет существующую модель компонента AUTOSAR под названием Controller с изменениями из файла ThrottlePositionControlComposition_updated.arxml.

% Create and open AUTOSAR controller component model
ar = arxml.importer('ThrottlePositionControlComposition.arxml');
createComponentAsModel(ar,'/Company/Components/Controller',...
  'ModelPeriodicRunnablesAs','AtomicSubsystem');

% Update AUTOSAR controller component model (model must be open)
ar2 = arxml.importer('ThrottlePositionControlComposition_updated.arxml');
updateModel(ar2,'Controller');

Для получения дополнительной информации смотрите updateModel страница с описанием, Импорт Обновления Компонента программного обеспечения AUTOSAR и раздел обновления Импорта в качестве примера Компонент AUTOSAR к Simulink.

Импортируйте разделяемые определения элемента в модель компонента

После того, как вы создаете модель компонента программного обеспечения AUTOSAR, или путем запуска в Simulink или импорта описаний компонента ARXML, можно обновить свойства AUTOSAR модели компонента с предопределенными элементами и свойства, которые являются общими для компонентами. Чтобы обновить свойства AUTOSAR компонента с пакетами разделяемых определений элемента, вызовите updateAUTOSARProperties функция. Укажите, что объект средства импорта ARXML представление ARXML совместно использовал определения элемента и существующую модель AUTOSAR, чтобы обновиться.

Следующий пример обновляет модель компонента AUTOSAR с определениями элемента из файла SwAddrMethods.arxml.

addpath(fullfile(matlabroot,'/examples/autosarblockset/main'));
modelName = 'autosar_swc';
open_system(modelName);
ar = arxml.importer('SwAddrMethods.arxml');
updateAUTOSARProperties(ar,modelName);

Для получения дополнительной информации смотрите updateAUTOSARProperties страница с описанием, Импорт и Ссылочные Разделяемые Определения Элемента AUTOSAR и Импорт в качестве примера Пакет AUTOSAR в Модель компонента.

Смотрите также

Связанные примеры

Больше о