Для компонентов программного обеспечения AUTOSAR Classic Platform, которые содержат несколько исполняемых элементов, спецификация AUTOSAR Timing Extensions определяет ограничения порядка выполнения. Эти ограничения задают порядок выполнения выполняемых сущностей в компоненте. Можно просматривать и управлять ограничениями на уровне компонентов или, в моделях архитектуры AUTOSAR, на уровне виртуальной функциональной шины (VFB).
В Simulink®, можно:
Импортируйте ограничения порядка выполнения уровня компонента и VFB из файлов ARXML.
Откройте компонент или архитектурную модель AUTOSAR и используйте Редактор расписаний для изменения порядка выполнения исполняемых элементов.
Экспорт ограничений порядка выполнения на уровне компонентов и VFB в файлы ARXML.
В модели компонента обновляйте ограничения порядка выполнения путем импорта изменений ARXML.
В модели компонента программного обеспечения AUTOSAR используйте Редактор расписаний, чтобы запланировать и задать порядок выполнения runnables, принадлежащих этому компоненту. Редактор расписаний отображает разделы в модели, соединения данных между ними и порядок этих разделов. В моделях компонента AUTOSAR разделы соответствуют управляемым сущностям, которые выполняются независимо. В редакторе можно:
Просмотр графического представления runnables как разделов в компоненте AUTOSAR.
Создайте разделы и сопоставьте их с выполняемыми AUTOSAR.
Непосредственно задайте порядок выполнения runnables.
Редактор спецификаций поддерживает несколько стилей моделирования, включая моделирование на основе скорости и экспорт функций. Дополнительные сведения см. в разделах Использование редактора спецификаций и Создание разделов. Редактор спецификаций можно также использовать в моделировании архитектуры AUTOSAR. См. «Настройка планирования и симуляции AUTOSAR».
В автономной модели компонента AUTOSAR, чтобы открыть Редактор спецификаций, откройте вкладку Modeling и выберите Schedule Editor. Для исполняемых элементов в модели компонента AUTOSAR в редакторе спецификаций первоначально отображаются неявные разделы, созданные на основе стиля моделирования компонентов. Можно просматривать и конфигурировать неявные разделы или создавать явные разделы и сопоставлять их с новыми или существующими выполняемыми AUTOSAR.
Чтобы просмотреть и сконфигурировать неявные разделы:
Откройте пример модели AUTOSAR autosar_swc_expfcns
, который использует экспортированные функции Simulink для моделирования runnables AUTOSAR.
Откройте вкладку Modeling и выберите Schedule Editor. Редактор спецификаций отображает периодические экспортированные функции, сопоставленные с выполняемыми AUTOSAR, как неявные разделы.
Для изменения порядка разделов используйте элементы управления редактора. Для примера в Порядок разделе щелкните по направлению стрел или перетащите записи таблицы.
Чтобы создать явный раздел в программном компоненте AUTOSAR:
Откройте пример модели AUTOSAR
, который моделирует периодические runnables, которые имеют несколько частот дискретизации.matlabroot
/ help/toolbox/autosar/examples/mAutosarMultitasking.slx
Первоначально с точки зрения редактора расписаний модель содержит неявные разделы D1, D2, D3 и D4.
Чтобы создать раздел, откройте диалоговое окно параметров блоков для подсистемы SS1. Когда Treat as atomic unit выбран, установите Schedule as параметра равным Periodic partition
. Задайте имя раздела, например P1, и шаг расчета 1. Нажмите Apply. Обновите диаграмму модели.
Откройте вкладку Modeling и выберите Schedule Editor. Редактор расписаний отображает явный периодический раздел в модели.
В окне модели откройте редактор Отображения и выберите вкладку Functions. Сопоставьте функцию P1 раздела с выполняемой функцией AUTOSAR.
Если строение не содержит выполнение AUTOSAR, которое можно сопоставить, добавьте выполнение. Откройте представление AUTOSAR Dictionary, Runnables и нажмите кнопку Add. В данном примере создайте выполняемые Runnable_P1
. Затем выберите runnable и создайте событие синхронизации.
На вкладке Functions сопоставьте P1 с Runnable_P1
.
Построение модели AUTOSAR, содержащей ограничения порядка выполнения, экспортирует время выполнения компонента. Если для опции AUTOSAR Dictionary XML задано значение Exported XML File Packaging Modular
, время выполнения экспортируется в файл
. Этот код ARXML показывает ограничение порядка выполнения, экспортированное для runnables в modelname
_timing.arxmlmAutosarMultitasking
, на основе строения редактора расписаний.
<SWC-TIMING UUID="..."> <SHORT-NAME>mAutosarMultitasking</SHORT-NAME> <TIMING-REQUIREMENTS> <EXECUTION-ORDER-CONSTRAINT UUID="..."> <SHORT-NAME>EOC</SHORT-NAME> <ORDERED-ELEMENTS> <EOC-EXECUTABLE-ENTITY-REF UUID="..."> <SHORT-NAME>Runnable_Step</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /pkg/swc/mAutosarMultitasking/IB/Runnable_Step </EXECUTABLE-REF> <SUCCESSOR-REFS> <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF"> /Timing/mAutosarMultitasking/EOC/Runnable_P1 </SUCCESSOR-REF> </SUCCESSOR-REFS> </EOC-EXECUTABLE-ENTITY-REF> <EOC-EXECUTABLE-ENTITY-REF UUID="..."> <SHORT-NAME>Runnable_P1</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /pkg/swc/mAutosarMultitasking/IB/Runnable_P1 </EXECUTABLE-REF> <SUCCESSOR-REFS> <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF"> /Timing/mAutosarMultitasking/EOC/Runnable_Step1 </SUCCESSOR-REF> </SUCCESSOR-REFS> </EOC-EXECUTABLE-ENTITY-REF> <EOC-EXECUTABLE-ENTITY-REF UUID="..."> <SHORT-NAME>Runnable_Step1</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /pkg/swc/mAutosarMultitasking/IB/Runnable_Step1 </EXECUTABLE-REF> <SUCCESSOR-REFS> <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF"> /Timing/mAutosarMultitasking/EOC/Runnable_Step2 </SUCCESSOR-REF> </SUCCESSOR-REFS> </EOC-EXECUTABLE-ENTITY-REF> <EOC-EXECUTABLE-ENTITY-REF UUID="..."> <SHORT-NAME>Runnable_Step2</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /pkg/swc/mAutosarMultitasking/IB/Runnable_Step2 </EXECUTABLE-REF> <SUCCESSOR-REFS> <SUCCESSOR-REF DEST="EOC-EXECUTABLE-ENTITY-REF"> /Timing/mAutosarMultitasking/EOC/Runnable_Step3 </SUCCESSOR-REF> </SUCCESSOR-REFS> </EOC-EXECUTABLE-ENTITY-REF> <EOC-EXECUTABLE-ENTITY-REF UUID="..."> <SHORT-NAME>Runnable_Step3</SHORT-NAME> <EXECUTABLE-REF DEST="RUNNABLE-ENTITY"> /pkg/swc/mAutosarMultitasking/IB/Runnable_Step3 </EXECUTABLE-REF> </EOC-EXECUTABLE-ENTITY-REF> </ORDERED-ELEMENTS> </EXECUTION-ORDER-CONSTRAINT> </TIMING-REQUIREMENTS> <BEHAVIOR-REF DEST="SWC-INTERNAL-BEHAVIOR"> /pkg/swc/mAutosarMultitasking/IB </BEHAVIOR-REF> </SWC-TIMING>