Подходом к проверке и проверке разработки системы является V-модель.
V-модель является представлением разработки системы, которое подчеркивает шаги верификации и валидации в процессе разработки системы. Левая сторона «V» определяет шаги, которые приводят к генерации кода, включая спецификацию системы и детальную разработку ПО. Правая сторона V фокусируется на верификации и валидации шагов, упомянутых в левой части, включая программное и системное интегрирование.
В зависимости от вашего приложения и его роли в процессе, вы можете сосредоточиться на одном или нескольких шагах, вызываемых в V-модели, или повторить шаги на нескольких этапах V-модели. Технология генерации кода и связанные с ней продукты обеспечивают инструменты, которую можно применять к V-модели для разработки. Для получения дополнительной информации о том, как можно применить MathWorks® технология генерации кода и соответствующие продукты для процесса V-модели, см.:
Используйте V-модель для разработки системы для различных типов симуляции и прототипирования, таких как быстрое моделирование, системная симуляция, быстрое прототипирование и быстрое прототипирование на целевом компьютере. В этой таблице сравниваются типы симуляции и прототипирования, идентифицированные в левой части схемы V-модели, показанной в V-модели для разработки системы.
Симуляция | Быстрая симуляция | Системная симуляция, быстрое прототипирование | Быстрое прототипирование на целевом компьютере | |
---|---|---|---|---|
Цель | Тестируйте и подтверждайте функциональность концепции модели | Уточните, протестируйте и проверьте функциональность концепции модели за нереальное время | Тестируйте новые идеи и исследования | Уточнение и калибровка проекта в процессе разработки |
Оборудование выполнения | Компьютер разработчика | Компьютер разработчика Независимый исполняемый файл запускается вне MATLAB® и Simulink® окружения | ПК или оборудование nontarget | Встраиваемый вычислительный модуль (ECU) или оборудование ближнего производства |
Эффективность кода и задержка ввода-вывода | Не применяется | Не применяется | Меньше внимания к эффективности кода и задержке ввода-вывода | Больше внимания уделяется эффективности кода и задержкам ввода-вывода |
Простота использования и стоимость | Может симулировать компонент (алгоритм или контроллер) и окружение (или объект) Режим normal mode симуляция в Simulink позволяет вам получить доступ, отображение и настроить данные во время верификации Можно ускорить симуляции Simulink | Легкий для того чтобы симулировать модели гибридных динамических систем, которые включают компоненты и модели окружения Идеально подходит для пакетных симуляций или симуляций Монте-Карло Можно повторить симуляции с различными наборами данных, в интерактивном или программном режиме с помощью скриптов, не перестраивая модель Может соединиться с Simulink, чтобы контролировать сигналы и настраивать параметры | Может потребоваться пользовательские симуляторы в реальном времени и оборудование Может быть сделано с недорогим оборудованием готового ПК и платами ввода-вывода | Может использовать существующее оборудование для меньших затрат и большего удобства |
В этой таблице сравниваются типы тестирования в цикле для верификации, идентифицированные на правой стороне схемы V-модели, показанной в V-модели для разработки системы.
SIL симуляция | PIL симуляция на встраиваемом оборудовании | PIL симуляция на Симулятор процессора | Программно-аппаратная симуляция | |
---|---|---|---|---|
Цель | Проверьте исходный код компонента | Проверьте объектный код компонента | Проверьте объектный код компонента | Проверьте функциональность системы |
Точность и точность | Две опции: Тот же исходный код, что и целевой, но может иметь числовые различия Изменяет исходный код, чтобы эмулировать размеры слов, но бит точен для математики с фиксированной точкой | Тот же объектный код Бит, точный для математики с фиксированной точкой Цикл точен, потому что код запускается на оборудовании | Тот же объектный код Бит, точный для математики с фиксированной точкой Возможно, цикл не точен | Тот же исполняемый код Бит, точный для математики с фиксированной точкой Точный цикл Используйте реальные и эмулированные системы ввода-вывода |
Платформы выполнения | Компьютер разработчика | Целевой компьютер | Компьютер разработчика | Целевой компьютер |
Простота использования и стоимость | Удобство рабочего стола Выполняется только в Simulink Снижает оборудование затраты | Выполняется на рабочем столе или испытательном стенде Использует оборудование - технологическую плату и кабели | Удобство рабочего стола Выполняется на компьютере разработчика с Simulink и интегрированной средой разработки (IDE) Снижает оборудование затраты | Выполняется на испытательном стенде или в лаборатории Использует оборудование - процессор, встроенный вычислительный модуль (ECU), устройства ввода-вывода и кабели |
Возможности в реальном времени | Не в реальном времени | Не в реальном времени (между выборками) | Не в реальном времени (между выборками) | Жесткое реальное время |
В этих таблицах перечислены цели, которые могут быть у вас, когда вы применяете технологию генерации кода, и где можно найти рекомендации по достижению этих целей.
Можно открыть и запустить примеры, связанные ниже, и сгенерировать код.
Документирование и валидация требований
Цели | Сопутствующая информация о продукте | Примеры |
---|---|---|
Сбор требований в документе, электронной таблице, основе данных или инструменте управления требованиями | Инструменты сторонних поставщиков, такие как Microsoft® Word, Microsoft Excel®, необработанный HTML или IBM® Рациональный® ДВЕРИ® | |
Связать документы требований с объектами в моделях концепции Сгенерируйте отчет о требованиях, связанных с моделью | Requirements Management Interface (Simulink Requirements) Двунаправленная трассировка в Microsoft Word, Microsoft Excel, HTML и IBM RATIONAL DOORS | slvnvdemo_fuelsys_docreq |
Включите ссылки требований в сгенерированный код | Просмотр и ведение ссылок на требования ( Simulink Requirements) | rtwdemo_requirements |
Проследите элементы модели и подсистемы к сгенерированному коду и наоборот | rtwdemo_hyperlinks | |
Проверьте, доработайте и протестируйте модель концепции в нереальном времени на компьютере разработчика | Система управления составом топливно-воздушной смеси с диаграммами Stateflow | |
Запуск автономных быстрых симуляций Запустите симуляции пакета или Монте-Карло Повторите симуляции с различными наборами данных, в интерактивном режиме или программно со скриптами, не перестраивая модель Настройки параметров и мониторинг сигналов в интерактивном режиме Симулируйте модели для гибридных динамических систем, которые включают компоненты и окружение или объект, который требует решателей с переменным шагом и обнаружения пересечения нулем | Симуляции режима external mode для настройки параметров и контроля сигналов | Выполняйте быстрые симуляции в области значений значений параметров Выполняйте пакетные симуляции без перекомпиляции сгенерированного кода Используйте MAT-файлы для передачи данных на входные блоки для быстрых симуляций |
Распределите запуски симуляции между несколькими компьютерами |
Разработка спецификаций системы
Цели | Сопутствующая информация о продукте | Примеры |
---|---|---|
Создайте проект программных продуктов для алгоритмов, которые вы разрабатываете в коде MATLAB для обзоров и архивирования | ||
Создайте программные продукты проекта из Simulink и Stateflow® модели для обзоров и архивирования | Разработка системы описание ( Simulink Report Generator) | Сгенерируйте отчет генерации кода |
Добавьте один или несколько компонентов в другое окружение для системной симуляции Уточните модель компонента Уточните интегрированную системную модель Проверьте функциональность модели за нереальное время Протестируйте модель концепции | Развертывание модели алгоритма для быстрого прототипирования в реальном времени | |
Планируйте сгенерированный код | Абсолютные и истекшие временные Расчеты | Основанные на времени примеры планирования |
Задайте контуры функции системы |
| |
Задайте компоненты и контуры для проекта и инкрементальной генерации кода | rtwdemo_mdlreftop | |
Задайте функциональные интерфейсы, чтобы внешнее программное обеспечение могло компилировать, создавать и активировать сгенерированный код |
rtwdemo_configinterface rtwdemo_configdefaults rtwdemo_fcnprotoctrl rtwdemo_cppclass
| |
Управление упаковкой данных в сгенерированный код для интеграции и упаковки данных |
rtwdemo_ssreuse rtwdemo_mdlreftop rtwdemo_configinterface
| |
Сгенерируйте и управляйте форматом комментариев и идентификаторов в сгенерированном коде |
rtwdemo_comments rtwdemo_symbols
| |
Создайте zip-файл, который содержит сгенерированные файлы кода, статические файлы и зависимые данные, чтобы создать сгенерированный код в окружении, отличной от вашего хоста-компьютера | rtwdemo_buildinfo | |
Экспортируйте модели для валидации в симуляторе системы с помощью общих библиотек | rtwdemo_shrlib | |
Уточните проекты модели компонента и окружения путем быстрой итерации между проектированием алгоритма и прототипированием Проверьте, может ли компонент адекватно управлять физической системой в нереальном времени Оцените производительность системы перед размещением оборудования, производственного программного обеспечения кодирования или приверженностью фиксированному проекту Тестирование оборудования | ||
Сгенерируйте код для быстрого прототипирования | Сгенерируйте модульный код функции для невиртуальных подсистем |
rtwdemo_counter rtwdemo_counter_msvc rtwdemo_async
|
Сгенерируйте код для быстрого прототипирования в жестком режиме реального времени, используя ПК | Создайте и запустите приложение реального времени из модели Simulink (Simulink Real-Time) | |
Сгенерируйте код для быстрого прототипирования в мягком режиме реального времени, используя ПК | sldrtex_vdp (и другие) |
Разработка рабочей разработки ПО
Цели | Сопутствующая информация о продукте | Примеры |
---|---|---|
Уточните проект модели для представления и хранения данных в сгенерированном коде | ||
Выберите функции генерации кода для развертывания | Время выполнения Окружения Строения Время выполнения Окружения Строения |
rtwdemo_counter rtwdemo_counter_msvc rtwdemo_async Выборки рабочих процессов AUTOSAR (AUTOSAR Blockset) |
Задайте целевые компьютеры | rtwdemo_targetsettings | |
Модели проекта | ||
Задайте алгоритмы с фиксированной точкой в Simulink, Stateflow и подмножестве языка MATLAB для генерации кода | Типы данных параметров в сгенерированном коде Поддержка генерации кода с фиксированной точкой (Fixed-Point Designer) | rtwdemo_fixpt1 Система управления составом топливно-воздушной смеси с данными о фиксированной точке |
Преобразуйте модель или подсистему с плавающей точкой в представление с фиксированной точкой | Итерационное преобразование фиксированной точки в Simulink (Fixed-Point Designer) | fxpdemo_fpa |
Итерация, чтобы получить оптимальный проект с фиксированной точкой, с помощью автомасштабирования | fxpdemo_feedback | |
Создайте или переименуйте типы данных специально для вашего приложения | rtwdemo_udt | |
Управляйте форматом идентификаторов в сгенерированном коде | rtwdemo_symbols | |
Задайте, как сигналы, настраиваемые параметры, состояния блока и объекты данных объявлены, сохранены и представлены в сгенерированном коде | Организуйте данные параметра в структуру с помощью класса Памяти | rtwdemo_cscpredef |
Создайте словарь данных для модели | rtwdemo_configinterface | |
Перемещение сегментов данных для сгенерированных функций и данных с помощью #pragmas для калибровки или доступа к данным | Управление размещением данных и функций в памяти путем вставки прагм | rtwdemo_memsec |
Оцените и скорректируйте параметры конфигурации модели на основе приложения и ожидаемого окружения выполнения |
Сгенерируйте код с помощью Coder™ Simulink ® Сгенерируйте код, используя Embedded Coder ® | |
Проверяйте модель на соответствие основным руководствам по моделированию | rtwdemo_advisor1 | |
Добавьте собственные проверки в Simulink Model Advisor | Создайте проверки Model Advisor (Simulink Check) | Создайте и разверните пользовательское строение Model Advisor (Simulink Check) |
Проверяйте модель на соответствие пользовательским стандартам или руководствам | Проверяйте свою модель с помощью Model Advisor | |
Проверьте модель на соответствие отраслевым стандартам и руководствам (MathWorks Advisory Board (MAB), IEC 61508, IEC 62304, ISO 26262, EN 50128 и DO-178) | Стандарты, инструкции и использование блоков Проверяйте Податливость модели ( Simulink Check) | rtwdemo_iec61508 |
Получите покрытие модели для анализа структурного покрытия, такого как MCDC | ||
Докажите свойства и сгенерируйте тестовые векторы для моделей | Simulink Design Verifier™ | sldvdemo_cruise_control sldvdemo_cruise_control_verification |
Создавайте отчеты о моделях и разработках ПО | Разработка системы описание ( Simulink Report Generator) | Сгенерируйте отчет генерации кода |
Проводите обзоры вашей модели и разработок ПО с коллегами, клиентами и поставщиками, у которых нет доступного Simulink | Создание моделируемых веб-представлений ( Simulink Report Generator) | Сравнение и слияние моделей Simulink, содержащих Stateflow |
Уточните концепцию модель своего компонента или системы Тестируйте и проверяйте функциональность модели в реальном времени Тестируйте оборудование Получите профили и метрики кода в реальном времени для анализа и определения размеров на основе вашего встраиваемого процессора Оцените выполнимость алгоритма на основе интегрирования со окружением или оборудованием объекта | rtwdemo_sil_topmodel | |
Сгенерируйте исходный код для ваших моделей, интегрируйте код в ваше производственное окружение сборки и запустите его на существующем оборудовании |
rtwdemo_counter rtwdemo_counter_msvc rtwdemo_fcnprotoctrl rtwdemo_cppclass rtwdemo_async Выборки рабочих процессов AUTOSAR (AUTOSAR Blockset) | |
Интеграция существующего внешне написанного кода C or C++ с вашей моделью для симуляции и генерации кода | rtwdemos , выберите Model Architecture and Design > External Code Integration | |
Сгенерируйте код для целевого быстрого прототипирования на конкретных встраиваемых микропроцессорах и IDE | Развертывание сгенерированного программного обеспечения компонента на целевых платформах приложений | В rtwdemo_vxworks |
Сгенерируйте код приложения
Цели | Сопутствующая информация о продукте | Примеры |
---|---|---|
Оптимизируйте сгенерированный ANSI® Код C для производства (для примера, отключение кода с плавающей точкой, удаление кода завершения и обработки ошибок и объединение точек входа кода в отдельные функции) | rtwdemos , выберите Performance | |
Оптимизируйте код для определенного окружения во время выполнения, используя специализированные библиотеки функций | Оптимизируйте сгенерированный код путем разработки и использования библиотек замены кода - Simulink ® | |
Управление форматом и стилем сгенерированного кода | rtwdemo_parentheses | |
Управляйте комментариями, вставленными в сгенерированный код | rtwdemo_comments | |
Введите специальные инструкции или теги для постобработки сторонними программами или процессами | rtwdemo_buildinfo | |
Включите ссылки требований в сгенерированный код | Просмотр и ведение ссылок на требования ( Simulink Requirements) | rtwdemo_requirements |
Проследите блоки модели и подсистемы к сгенерированному коду и наоборот | rtwdemo_comments rtwdemo_hyperlinks | |
Интеграция существующего внешне записанного кода с кодом, сгенерированным для модели | rtwdemos , выберите Model Architecture and Design > External Code Integration | |
Проверьте сгенерированный код для MISRA C® [a] и другие нарушения во время выполнения | ||
Защита интеллектуального свойства проекта модели компонента и сгенерированного кода Сгенерируйте двоичный файл (общая библиотека) | ||
Сгенерируйте Файл MEX для модели или подсистемы, чтобы она могла использоваться совместно с сторонним поставщиком | ||
Сгенерируйте общую библиотеку для модели или подсистемы, чтобы ее можно было использовать совместно с сторонним поставщиком | ||
Протестируйте сгенерированный производственный код с помощью окружения или модели объекта управления для проверки преобразования модели в код | Тестируйте сгенерированный код с SIL и PIL симуляциями | |
Создайте оболочку S-функции для вызова вашего сгенерированного исходного кода из модели, работающей в Simulink | ||
Настройте и запуск тесты SIL на своем хосте-компьютере | Тестируйте сгенерированный код с SIL и PIL симуляциями | |
[a] MISRA® и MISRA C являются зарегистрированными товарными знаками MISRA Ltd., хранящимися от имени консорциума MISRA. |
Интеграция и верификация программного обеспечения
Цели | Сопутствующая информация о продукте | Примеры |
---|---|---|
Интеграция существующего внешне записанного кода C or C++ с моделью для симуляции и генерации кода | rtwdemos , выберите Model Architecture and Design > External Code Integration | |
Подключение к интерфейсам данных для сгенерированного кода C структур данных |
rtwdemo_capi rtwdemo_asap2
| |
Управляйте генерацией интерфейсов кода, чтобы внешнее программное обеспечение могло компилировать, создавать и активировать сгенерированный код |
rtwdemo_fcnprotoctrl | |
Экспорт виртуальных и подсистемы вызова функций | Сгенерируйте исходный код компонента для экспорта во внешнюю основу кода | rtwdemo_exporting_functions |
Включите целевой код | Оптимизируйте сгенерированный код путем разработки и использования библиотек замены кода - Simulink ® | |
Настройка и управление процессом сборки | rtwdemo_buildinfo | |
Создайте zip-файл, который содержит сгенерированные файлы кода, статические файлы и зависимые данные, чтобы создать сгенерированный код в окружении, отличной от вашего хоста-компьютера | rtwdemo_buildinfo | |
Интеграция компонентов программного обеспечения как полной системы для проверки в целевом окружении | ||
Сгенерируйте исходный код для интегрирования с определенными производственными окружениями |
rtwdemo_async Выборки рабочих процессов AUTOSAR (AUTOSAR Blockset) | |
Интеграция кода для определенного окружения во время выполнения с помощью специализированных библиотек функций | Оптимизируйте сгенерированный код путем разработки и использования библиотек замены кода - Simulink ® | |
Введите специальные инструкции или теги для постобработки сторонними программами или процессами | rtwdemo_buildinfo | |
Интеграция существующего внешне записанного кода с кодом, сгенерированным для модели | rtwdemos , выберите Model Architecture and Design > External Code Integration | |
Подключение к интерфейсам данных для структур сгенерированных кодов C данных |
rtwdemo_capi rtwdemo_asap2
| |
Планируйте сгенерированный код | Основанные на времени примеры планирования | |
Проверьте объектный код файлы в целевое окружение | Тестируйте сгенерированный код с SIL и PIL симуляциями | |
Настройте и запустите PIL-тесты в целевой системе | Тестируйте сгенерированный код с SIL и PIL симуляциями Сконфигурируйте процессор в цикле (PIL) для пользовательского целевого устройства Создайте целевой канал связи для симуляции процессора в цикле (PIL) Смотрите список |
Интеграция, проверка и калибровка системных компонентов
Цели | Сопутствующая информация о продукте | Примеры |
---|---|---|
Интеграция программного обеспечения и его микропроцессора с оборудованием окружения для конечного продукта встраиваемой системы Добавьте сложность окружения (или объекта) под управлением к тестовой платформе Тестируйте и проверяйте встраиваемую систему или модуль управления с помощью целевого окружения в реальном времени | Развертывание модели алгоритма для быстрого прототипирования в реальном времени Развертывание модели окружения для симуляции оборудования в цикле (HIL) в реальном времени Развертывание сгенерированных Независимых исполняемых файлов программ на Целевой компьютер Развертывание сгенерированного программного обеспечения компонента на целевых платформах приложений | |
Сгенерируйте исходный код для Программное-аппаратного тестирования | Развертывание модели окружения для симуляции оборудования в цикле (HIL) в реальном времени | |
Жесткое программное-аппаратное тестирование в режиме реального времени с использованием ПК | Создайте и запустите приложение реального времени из модели Simulink (Simulink Real-Time) Симуляция и проверка в реальном времени (Simulink Real-Time) | |
Правильно настройте установку пиролиза для ее целевого использования | rtwdemo_capi rtwdemo_asap2 | |
Сгенерируйте ASAP2 файлов данных | rtwdemo_asap2 | |
Сгенерируйте файлы интерфейса данных C API | Обмен данными между сгенерированным и внешним кодом с использованием C API | rtwdemo_capi |