Создание модели Simulink ® на основе XML-описания состава программного обеспечения AUTOSAR .
Здесь представлена программная композиция AUTOSAR, которая реализует систему управления положением дросселя. Состав содержит шесть связанных между собой прототипов программных компонентов AUTOSAR - четыре сенсорных/исполнительных компонента и два прикладных компонента.
Композиция была создана в средстве разработки AUTOSAR и экспортирована в файл ThrottlePositionControlComposition.arxml.

Использование функции MATLAB createCompositionAsModel для импорта описания AUTOSAR XML (ARXML) и создания начального представления Simulink композиции AUTOSAR.
ar = arxml.importer('ThrottlePositionControlComposition.arxml'); 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 представляют порты AUTOSAR, а сигнальные линии - разъемы компонентов AUTOSAR.

После создания начального представления Simulink композиции AUTOSAR необходимо разработать каждый компонент композиции. Для каждого компонента уточняется конфигурация AUTOSAR и создается содержимое алгоритмической модели.
Например, Controller модель компонента в ThrottlePositionControlComposition модель композиции содержит атомарную подсистему Runnable_Step_sys, который представляет возможность периодического выполнения AUTOSAR. Runnable_Step_sys подсистема содержит начальную реализацию заглушки поведения контроллера.

Вот возможная реализация поведения контроллера положения дросселя. (Для изучения этой реализации см. модель autosar_swc_controller, который поставляется с примером «Проектирование и моделирование компонентов AUTOSAR и создание кода».) Компонент принимает в качестве входных данных значение процента датчика APP от датчика положения педали и значение процента TPS от датчика положения дросселя. На основе этих значений контроллер вычисляет ошибку. Погрешность представляет собой разницу между тем, где оператор хочет получить дроссель, основанный на датчике педали, и текущим положением дросселя. В этой реализации блок дискретного ПИД-контроллера использует значение ошибки для вычисления процентного значения команды дросселя для обеспечения привода дросселя. В области отображается значение ошибки и выходное значение блока дискретного ПИД-контроллера с течением времени.

При разработке компонентов AUTOSAR можно:
Моделирование моделей компонентов по отдельности или вместе в составе, содержащем компоненты.
Создание файлов описания компонентов ARXML и алгоритмического кода C для тестирования в Simulink или интеграции в среду выполнения AUTOSAR. (Для создания кода AUTOSAR требуется Simulink Coder и Embedded Coder.)
Дополнительные сведения о разработке, моделировании и построении компонентов AUTOSAR см. в разделе Пример «Проектирование и моделирование компонентов AUTOSAR и создание кода».
Предположим, что после импорта композиции программного обеспечения AUTOSAR в Simulink и начала разработки алгоритмов в инструменте разработки AUTOSAR в композицию были внесены архитектурные изменения.
Вот пересмотренный состав. Изменения позволяют удалить компонент датчика, добавить компонент регистратора и добавить порты и соединения на уровнях структуры и компонентов. В инструменте разработки AUTOSAR пересмотренная композиция экспортируется в файл ThrottlePositionControlComposition_updated.arxml.

Использование функции MATLAB updateModel для импорта архитектурных редакций из файла ARXML. Функция обновляет модель композиции AUTOSAR с изменениями и сообщает результаты.
ar2 = arxml.importer('ThrottlePositionControlComposition_updated.arxml'); updateModel(ar2,'ThrottlePositionControlComposition');
Updating model 'ThrottlePositionSensor' for component 1 of 6: /Company/Components/ThrottlePositionSensor ### Updating model ThrottlePositionSensor ### Saving original model as ThrottlePositionSensor_backup.slx ### Creating HTML report ThrottlePositionSensor_update_report.html Updating model 'ThrottlePositionMonitor' for component 2 of 6: /Company/Components/ThrottlePositionMonitor ### Updating model ThrottlePositionMonitor ### Saving original model as ThrottlePositionMonitor_backup.slx ### Creating HTML report ThrottlePositionMonitor_update_report.html Creating model 'Logger' for component 3 of 6: /Company/Components/Logger Updating model 'Controller' for component 4 of 6: /Company/Components/Controller ### Updating model Controller ### Saving original model as Controller_backup.slx ### Creating HTML report Controller_update_report.html Updating model 'AccelerationPedalPositionSensor' for component 5 of 6: /Company/Components/AccelerationPedalPositionSensor ### Updating model AccelerationPedalPositionSensor ### Saving original model as AccelerationPedalPositionSensor_backup.slx ### Creating HTML report AccelerationPedalPositionSensor_update_report.html Updating model 'ThrottlePositionActuator' for component 6 of 6: /Company/Components/ThrottlePositionActuator ### Updating model ThrottlePositionActuator ### Saving original model as ThrottlePositionActuator_backup.slx ### Creating HTML report ThrottlePositionActuator_update_report.html Updating model 'ThrottlePositionControlComposition' for composition 1 of 1: /Company/Components/ThrottlePositionControlComposition ### Updating model ThrottlePositionControlComposition ### Saving original model as ThrottlePositionControlComposition_backup.slx ### Creating HTML report ThrottlePositionControlComposition_update_report.html
После обновления в модели композиции выделение указывает, где произошли изменения.

Функция также генерирует и отображает отчет об обновлении HTML AUTOSAR. В отчете перечислены изменения, внесенные в элементы Simulink и AUTOSAR в модели композиции. В отчете можно щелкнуть гиперссылки для перехода от описаний изменений к изменениям модели и перехода от основного отчета к отдельным отчетам компонентов.