Подходом к проверке и проверке разработки системы является V-модель.
V-модель является представлением разработки системы, которая подсвечивает шаги верификации и валидации в процессе разработки системы. Левая сторона эти ‘V’ идентифицирует шаги, которые приводят к генерации кода, включая системную спецификацию и подробную разработку ПО. Правая сторона V особого внимания на верификации и валидации шагов, процитированных на левой стороне, включая интеграцию программного обеспечения и системную интеграцию.
В зависимости от вашего приложения и его роли в процессе, вы можете фокусироваться на одном или нескольких шагов, вызванных в V-модели, или повторить шаги на нескольких этапах V-модели. Технология генерации кода и сопутствующие товары обеспечивают инструменты, которые можно применять к V-модели для разработки. Для получения дополнительной информации о том, как можно применить технологию генерации кода MathWorks® и сопутствующие товары к процессу V-модели, см.:
Используйте V-модель для разработки системы для различных типов симуляции и прототипирования, таких как быстрая симуляция, системная симуляция, быстрое прототипирование и быстрое прототипирование на целевом компьютере. Эта таблица сравнивает типы симуляции и прототипирования идентифицированного на левой стороне V-диаграммы-модели, показанной в V-модели для Разработки системы.
Симуляция | Быстрая симуляция | Системная симуляция, быстрое прототипирование | Быстрое прототипирование на целевом компьютере | |
---|---|---|---|---|
Цель | Протестируйте и подтвердите функциональность модели концепции | Совершенствуйте, протестируйте и подтвердите функциональность модели концепции в недействительное время | Протестируйте новые идеи и исследование | Совершенствуйте и калибруйте проект во время процесса разработки |
Оборудование выполнения | Компьютер разработчика | Компьютер разработчика Независимый исполняемый файл запускается за пределами сред Simulink® и MATLAB® | PC или нецелевое оборудование | Встроенный вычислительный модуль (ECU) или почти производственное оборудование |
КПД кода и задержка ввода-вывода | Не применяется | Не применяется | Меньше акцента на КПД кода и задержку ввода-вывода | Больше акцента на КПД кода и задержку ввода-вывода |
Простота использования и стоимость | Может симулировать компонент (алгоритм или контроллер) и среда (или объект) Симуляция режима normal mode в Simulink включает вам для доступа, отображения и данных о мелодии во время верификации Может ускорить симуляции Simulink | Легкий симулировать модели гибридных динамических систем, которые включают модели среды и компоненты Идеал для пакета или симуляций Монте-Карло Может повторить симуляции с различными наборами данных, в интерактивном режиме или программно при помощи скриптов, не восстанавливая модель Может соединиться с Simulink, чтобы контролировать сигналы и настройки параметров | Может потребовать пользовательских средств моделирования в реальном времени и оборудования Может быть сделан с недорогим, стандартным оборудованием PC и платами ввода-вывода | Может использовать существующее оборудование для меньшего количества расхода и большего удобства |
Эта таблица сравнивает типы тестирования в цикле на верификацию, идентифицированную на правой стороне V-диаграммы-модели, показанной в V-модели для Разработки системы.
SIL симуляция | PIL симуляция на встроенном оборудовании | PIL симуляция на симуляторе процессора | Программно-аппаратная симуляция | |
---|---|---|---|---|
Цель | Проверьте исходный код компонента | Проверьте объектный код компонента | Проверьте объектный код компонента | Проверьте функциональность системы |
Точность и точность | Две опции: Тот же исходный код как цель, но может иметь числовые различия Исходный код изменений, чтобы эмулировать размеры слова, но бит, точный для математики фиксированной точки | Тот же объектный код Бит, точный для математики фиксированной точки Цикл, точный, потому что код работает на оборудовании | Тот же объектный код Бит, точный для математики фиксированной точки Не может быть точный цикл | Тот же исполняемый код Бит, точный для математики фиксированной точки Точный цикл Используйте действительный и эмулированный системный ввод-вывод |
Платформы выполнения | Компьютер разработчика | Целевой компьютер | Компьютер разработчика | Целевой компьютер |
Простота использования и стоимость | Настольное удобство Выполняется только в Simulink Уменьшает затраты на оборудование | Выполняется на настольном или испытательном стенде Оборудование использования — плата процесса и кабели | Настольное удобство Выполняется на компьютере разработчика с Simulink и интегрированной средой разработки (IDE) Уменьшает затраты на оборудование | Выполняется на испытательном стенде или в лаборатории Оборудование использования — процессор, встроенный компьютерный модуль (ECU), устройства ввода-вывода и кабели |
Возможность в реальном времени | Не реальное время | Не реальное время (между выборками) | Не реальное время (между выборками) | Жесткое реальное время |
Эти таблицы приводят цели, которые вы можете иметь, когда вы применяете технологию генерации кода, и где найти руководство о том, как удовлетворить тем целям.
Можно открыть и запустить примеры, соединенные ниже, и сгенерировать код.
Документ и подтверждает требования
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Получите требования в документе, электронной таблице, базе данных или инструменте управления требований | Сторонние инструменты поставщика, такие как Microsoft® Word, Microsoft Excel®, необработанный HTML или IBM® Rational® DOORS® | |
Объединенные документы требований с объектами в моделях концепции Сгенерируйте отчет относительно требований, сопоставленных с моделью | Requirements Management Interface (Simulink Requirements) Двунаправленная трассировка в Microsoft Word, Microsoft Excel, HTML и Rational DOORS IBM | slvnvdemo_fuelsys_docreq |
Включайте ссылки требований в сгенерированный код | Рассмотрите и обеспечьте ссылки требований (Simulink Requirements) | rtwdemo_requirements |
Проследите элементы модели и подсистемы к сгенерированному коду и наоборот | rtwdemo_hyperlinks | |
Проверьте, совершенствуйте и протестируйте модель концепции в не реальное время на компьютере разработчика | Система управления состава топливно-воздушной смеси с диаграммами Stateflow | |
Запустите автономные быстрые симуляции Запустите симуляции Монте-Карло или пакет Повторите симуляции с различными наборами данных, в интерактивном режиме или программно со скриптами, не восстанавливая модель Настройки параметров и монитор сигнализируют в интерактивном режиме Симулируйте модели для гибридных динамических систем, которые включают компоненты и среду или объект, который требует решателей переменного шага и обнаружения пересечения нулем | Симуляции режима external mode для настройки параметра и контроля сигналов | Запустите быстрые симуляции в области значений значений параметров Запустите пакетные симуляции, не перекомпилировав сгенерированный код Используйте MAT-файлы, чтобы накормить данными блоки Inport для быстрых симуляций |
Распределите симуляцию, натыкается на несколько компьютеров |
Разработайте системную спецификацию
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Произведите артефакты проекта для алгоритмов, которые вы разрабатываете в коде MATLAB для отзывов и архивации | ||
Произведите артефакты проекта из Simulink и моделей Stateflow® для отзывов и архивации | Описание разработки системы (Simulink Report Generator) | rtwdemo_codegenrpt |
Добавьте один или несколько компонентов в другую среду для системной симуляции Совершенствуйте модель компонента Совершенствуйте модель интегрированной системы Проверьте функциональность модели в недействительное время Протестируйте модель концепции | Разверните модель алгоритма для быстрого прототипирования в реальном времени | |
Запланируйте сгенерированный код | Расчет абсолютного и прошедшего времени | Основанные на времени модели планирования в качестве примера |
Задайте функциональные контуры системы |
| |
Задайте компоненты и контуры для проекта и инкрементной генерации кода | 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
|
Сгенерируйте код для быстрого прототипирования в жесткое реальное время, с помощью PC | Создайте и запущенное приложение реального времени из модели Simulink (Simulink Real-Time) | |
Сгенерируйте код для быстрого прототипирования в мягкое реальное время, с помощью PC | 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 | |
Задайте, как сигналы, настраиваемые параметры, состояния блока и объекты данных объявлены, сохранены и представлены в сгенерированном коде | Организуйте данные о параметре в структуру при помощи класса памяти Struct | rtwdemo_cscpredef |
Создайте словарь данных для модели | rtwdemo_configinterface | |
Переместите сегменты данных для сгенерированных функций и данных с помощью #pragmas для калибровки или доступа к данным | Управляйте данными и функциональным размещением в памяти вставкой прагм | rtwdemo_memsec |
Оцените и настройте параметры конфигурации модели на основе приложения и ожидаемой среды выполнения |
Сгенерируйте код Используя Simulink® Coder™ Сгенерируйте код Используя Embedded Coder® | |
Проверяйте модель по основным руководствам по моделированию | rtwdemo_advisor1 | |
Добавьте собственные проверки в Model Advisor Simulink | Создайте (Simulink Check) проверок Model Advisor | Создайте и разверните пользовательскую конфигурацию 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) | rtwdemo_codegenrpt |
Проведите отзывы своих и разработок ПО модели с коллегами, клиентами и поставщиками, которые не имеют 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 | |
Сгенерируйте код для быстрого прототипирования на цели на определенных встроенных микропроцессорах и ИДАХ | Разверните сгенерированное компонентное программное обеспечение в целевые платформы приложения | В rtwdemo_vxworks |
Сгенерируйте код приложения
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Оптимизируйте сгенерировал код С ANSI® для производства (например, отключите код с плавающей точкой, удалите код завершения и обработки ошибок и точки входа объединения кода в одну функции), | 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® и другие нарушения во время выполнения | ||
Защитите интеллектуальную собственность проекта модели компонента и сгенерированного кода Сгенерируйте двоичный файл (совместно использованная библиотека) | ||
Сгенерируйте S-функцию файла MEX для модели или подсистемы так, чтобы она могла быть совместно использована со сторонним поставщиком | ||
Сгенерируйте разделяемую библиотеку для модели или подсистемы так, чтобы она могла быть совместно использована со сторонним поставщиком | ||
Протестируйте сгенерированный производственный код со средой или моделью объекта управления, чтобы проверить преобразование модели к коду | Протестируйте сгенерированный код с SIL и PIL симуляциями | |
Создайте обертку S-функции для вызова вашего сгенерированного исходного кода из модели, запускающейся в Simulink | ||
Настройте и запустите тесты SIL на своем хосте - компьютере | Протестируйте сгенерированный код с SIL и PIL симуляциями | |
Интегрируйте и проверьте программное обеспечение
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Интегрируйте существующий внешне записанный код C or C++ с моделью для симуляции и генерации кода | rtwdemos , выберите Model Architecture and Design> External Code Integration | |
Соединитесь с интерфейсами данных для структур данных сгенерированного кода C |
rtwdemo_capi rtwdemo_asap2
| |
Управляйте генерацией интерфейсов кода так, чтобы внешнее программное обеспечение могло скомпилировать, создайте и вызовите сгенерированный код |
rtwdemo_fcnprotoctrl rtwdemo_cppclass
| |
Экспортируйте виртуальный и подсистемы вызова функций | Сгенерируйте исходный код компонента для экспорта во внешнюю кодовую базу | 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) симуляция | |
Проведите Программное-аппаратное тестирование жесткого реального времени с помощью PC | Создайте и запущенное приложение реального времени из модели Simulink (Simulink Real-Time) Симуляция в реальном времени и тестирование (Simulink Real-Time) | |
Настройте ECU правильно для его надлежащего использования | rtwdemo_capi rtwdemo_asap2 | |
Сгенерируйте файлы данных ASAP2 | rtwdemo_asap2 | |
Сгенерируйте файлы интерфейса данных о API C | Обменивайтесь данными между сгенерированным и внешним кодом Используя API C | rtwdemo_capi |