Моделирование и развертывание программных архитектур

В этом примере показано, как создать модель многокомпонентной программной архитектуры с компонентами на основе скорости и экспорта функций, как симулировать ваш проект на уровне архитектуры и как сгенерировать код.

Откройте модель программной архитектуры

Эта модель программной архитектуры имеет два программных компонента: Export_Function и Rate_Based.

open_system('RateBasedExportFunctionSoftwareArchitectureModel')

В модели программной архитектуры Export_Function компонент связан с моделью поведения экспорта функций Simulink ®, export_model_software_architecture.

В этом поведении Simulink две функции моделируются с использованием блоков Подсистема Вызова Функций. Блоки inport соединяются с входными портами вызова функции и генерируют периодические события вызова функции с шагами расчета 10ms и 100ms. Чтобы узнать, как смоделировать это поведение, см. Раздел «Создание модели экспорта функций».

Если входные блоки, которые соединяются с портами входа вызова функции с шагами расчета, заданными как -1, что означает, что функции являются апериодическими, используйте экспериментальную модель Simulink с явными блоками планирования, такими как диаграмма Stateflow, для симуляции. Для получения дополнительной информации см. «Тестирование программной архитектуры».

Компонент Rate_Based связан с rate_based_model_software_architecture как модель поведения Simulink. Чтобы узнать, как создать эту модель на основе скорости, смотрите Создание модели на основе скорости.

Симулируйте модель с порядком выполнения по умолчанию

Симулируйте модель. Обратите внимание, что в Данные моделирования Inspector отображается выход из компонента Rate-Based.

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

Тестирование программной архитектуры

Можно протестировать модель программной архитектуры и симулировать различные порядки выполнения функций путем ссылки на него из блока Model в экспериментальной модели Simulink с явными блоками планирования, такими как Stateflow ® Chart (Stateflow).

В этом примере блок Model, который ссылается на модель программной архитектуры, имеет входной порт вызова функции для каждой функции в модели архитектуры.

Чтобы симулировать модель архитектуры с периодическим планировщиком диаграммы Stateflow, соедините выходы вызова функции диаграммы Stateflow с входами вызова функции блока Model.

Развертывание программной архитектуры

Можно сгенерировать код из модели программной архитектуры для функций экспортов функций export-function и rate-based.

Чтобы сгенерировать код, на вкладке Apps выберите Embedded Coder. На вкладке Кода С выберите Generate Кода. Сгенерированный код содержит точку входа для каждой функции компонента. Для получения дополнительной информации смотрите Сгенерировать код для модели экспорта функций.

Для компонента export-function он сгенерировал две функции, которые соответствуют блокам inport вызова функции внутри модели export-function ссылки.

Обратите внимание, что каждый компонент, основанный на скорости, имеет отдельные функции точки входа, которые соответствуют каждому шагу расчета в модели, основанной на скорости.

Похожие темы