Подходом к проверке и проверке разработки системы является V-модель.
V-модель является представлением разработки системы, которая подсвечивает шаги верификации и валидации в процессе разработки системы. Левая сторона эти ‘V’ идентифицирует шаги, которые приводят к генерации кода, включая системную спецификацию и подробную разработку ПО. Правая сторона V особого внимания на верификации и валидации шагов, процитированных на левой стороне, включая интеграцию программного обеспечения и системную интеграцию.
В зависимости от вашего приложения и его роли в процессе, вы можете фокусироваться на одном или нескольких шагов, вызванных в V-модели, или повторить шаги на нескольких этапах V-модели. Технология генерации кода и сопутствующие товары обеспечивают инструменты, что можно обратиться к V-модели за разработку системы. Для получения дополнительной информации о том, как можно применить технологию генерации кода MathWorks® и сопутствующие товары к процессу V-модели, см.:
Эта таблица сравнивает типы симуляции и прототипирования идентифицированного на левой стороне V-диаграммы-модели.
Симуляция | Быстрая симуляция | Системная симуляция, быстрое прототипирование | Быстрое прототипирование на целевом компьютере | |
---|---|---|---|---|
Цель | Протестируйте и подтвердите функциональность модели концепции | Совершенствуйте, протестируйте и подтвердите функциональность модели концепции в недействительное время | Протестируйте новые идеи и исследование | Совершенствуйте и калибруйте проект во время процесса разработки |
Оборудование выполнения | Компьютер разработчика | Компьютер разработчика Независимый исполняемый файл запускается за пределами сред Simulink® и MATLAB® | PC или нецелевое оборудование | Встроенный вычислительный модуль (ECU) или почти производственное оборудование |
Эффективность кода и задержка ввода-вывода | Не применяется | Не применяется | Меньше акцента на эффективность кода и задержку ввода-вывода | Больше акцента на эффективность кода и задержку ввода-вывода |
Простота использования и стоимость | Может моделировать компонент (алгоритм или контроллер) и среда (или объект) Симуляция режима normal mode в Simulink включает вам для доступа, отображения и данных о мелодии во время верификации Может ускорить симуляции Simulink с режимами Accelerated и Rapid Accelerated | Легкий моделировать модели гибридных динамических систем, которые включают модели среды и компоненты Идеал для пакета или симуляций Монте-Карло Может повторить симуляции с переменными наборами данных, в интерактивном режиме или программно со скриптами, не восстанавливая модель Может соединиться с Simulink, чтобы контролировать сигналы и настройки параметров | Может потребовать пользовательских средств моделирования в реальном времени и оборудования Может быть сделан с недорогим стандартным оборудованием PC и платами ввода-вывода | Может использовать существующее оборудование, таким образом менее дорогое и более удобное |
Эта таблица сравнивает типы тестирования в цикле на верификацию, идентифицированную на правой стороне 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 | |
Проверьте, совершенствуйте и протестируйте модель концепции в не реальное время на компьютере разработчика | Архитектура модели и проект (Simulink Coder) Симуляция (Simulink) Ускорение (Simulink) | Система управления состава топливно-воздушной смеси с диаграммами Stateflow (Simulink Coder) |
Запустите автономные быстрые симуляции Запустите симуляции Монте-Карло или пакет Повторите симуляции с переменными наборами данных, в интерактивном режиме или программно со скриптами, не восстанавливая модель Настройки параметров и монитор сигнализируют в интерактивном режиме Моделируйте модели для гибридных динамических систем, которые включают компоненты и среду или объект, который требует решателей переменного шага и обнаружения пересечения нулем | Ускорьте, совершенствуйте и протестируйте гибридную динамическую систему на хосте - компьютере при помощи системного конечного файла RSim (Simulink Coder) Целевая хостом связь с симуляцией режима external mode (Simulink Coder) | Запустите быстрые симуляции в области значений значений параметров (Simulink Coder) Запустите пакетные симуляции, не перекомпилировав сгенерированный код (Simulink Coder) Используйте MAT-файлы, чтобы накормить данными блоки Inport для быстрых симуляций (Simulink Coder) |
Распределите симуляцию, натыкается на несколько компьютеров |
Разработайте системную спецификацию
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Произведите артефакты проекта для алгоритмов, которые вы разрабатываете в коде MATLAB для отзывов и архивации | ||
Произведите артефакты проекта из Simulink и моделей Stateflow® для отзывов и архивации | Описание разработки системы (Simulink Report Generator) | rtwdemo_codegenrpt |
Добавьте один или несколько компонентов в другую среду для системной симуляции Совершенствуйте модель компонента Совершенствуйте модель интегрированной системы Проверьте функциональность модели в недействительное время Протестируйте модель концепции | Разверните модель алгоритма для быстрого прототипирования в реальном времени (Simulink Coder) | |
Запланируйте сгенерированный код | Вычисление абсолютного и прошедшего времени (Simulink Coder) Основанное на времени планирование и генерация кода (Simulink Coder) Асинхронные События (Simulink Coder) | Основанные на времени модели планирования в качестве примера (Simulink Coder) |
Задайте функциональные контуры системы | Подсистемы (Simulink Coder) |
|
Задайте компоненты и контуры для проекта и инкрементной генерации кода | Компонентно-ориентированное моделирование (Simulink Coder) | rtwdemo_mdlreftop |
Задайте функциональные интерфейсы так, чтобы внешнее программное обеспечение могло скомпилировать, создайте и вызовите сгенерированный код | Функция и интерфейсы класса (Simulink Coder) | rtwdemo_fcnprotoctrl rtwdemo_cppclass |
Справьтесь с упаковкой данных в сгенерированном коде для интеграцией и упаковкой данных | Файл, упаковочный (Simulink Coder) | rtwdemo_ssreuse rtwdemo_mdlreftop rtwdemo_advsc |
Сгенерируйте и управляйте форматом комментариев и идентификаторов в сгенерированном коде | rtwdemo_comments rtwdemo_symbols | |
Создайте zip-файл, который содержит файлы сгенерированного кода, статические файлы и зависимые данные, чтобы создать сгенерированный код в среде кроме вашего хоста - компьютера | Переместите код к другой среде разработки (Simulink Coder) | rtwdemo_buildinfo |
Экспортируйте модели для валидации в системном средстве моделирования, пользующемся совместно использованными библиотеками | rtwdemo_shrlib | |
Совершенствуйте компонент и проекты модели среды путем быстрой итерации между проектом алгоритма и прототипированием Проверьте, может ли компонент соответственно управлять физической системой в нереальное время Оцените производительность системы перед разметкой оборудования, кодированием производственного программного обеспечения или согласием на фиксированный проект Протестируйте оборудование | Развертывание (Simulink Coder) | |
Сгенерируйте код для быстрого прототипирования | Функция и интерфейсы класса (Simulink Coder) Сконфигурируйте генерацию кода для образцовых функций точки входа (Simulink Coder) Сгенерируйте модульный функциональный код для невиртуальных подсистем | rtwdemo_counter rtwdemo_counter_msvc rtwdemo_async |
Сгенерируйте код для быстрого прототипирования в жесткое реальное время, с помощью PC | Создайте и запущенное приложение реального времени из модели Simulink (Simulink Real-Time) | |
Сгенерируйте код для быстрого прототипирования в мягкое реальное время, с помощью PC | sldrtex_vdp (и другие) |
Разработайте подробную разработку ПО
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Совершенствуйте образцовый проект для представления и устройства хранения данных данных в сгенерированном коде | Доступ к данным для прототипирования и отладки (Simulink Coder) | |
Выберите функции генерации кода развертывания | Настройка среды выполнения (Simulink Coder) |
rtwdemo_counter rtwdemo_counter_msvc rtwdemo_async Выборки рабочего процесса (AUTOSAR Blockset) |
Задайте настройки целевого компьютера | Настройка среды выполнения (Simulink Coder) | rtwdemo_targetsettings |
Варианты модели проекта | ||
Задайте алгоритмы фиксированной точки в Simulink, Stateflow и подмножество языка MATLAB для генерации кода | Типы данных и масштабирующийся (Fixed-Point Designer) Поддержка генерации фиксированной точки (Fixed-Point Designer) | rtwdemo_fixpt1 Система управления состава топливно-воздушной смеси с данными фиксированной точки (Simulink Coder) |
Преобразуйте модель с плавающей точкой или подсистему к представлению фиксированной точки | Преобразуйте в фиксированную точку (Fixed-Point Designer) | fxpdemo_fpa |
Выполните итерации, чтобы получить оптимальный проект фиксированной точки, с помощью автомасштабирования | Типы данных и масштабирующийся (Fixed-Point Designer) | fxpdemo_feedback |
Создайте или переименуйте типы данных специально для своего приложения | rtwdemo_udt | |
Управляйте форматом идентификаторов в сгенерированном коде | rtwdemo_symbols | |
Задайте, как сигналы, настраиваемые параметры, состояния блока и объекты данных объявлены, сохранены и представлены в сгенерированном коде | rtwdemo_cscpredef | |
Создайте словарь данных для модели | Что такое словарь данных? (Simulink) | rtwdemo_advsc |
Переместите сегменты данных для сгенерированных функций и данных с помощью #pragmas для калибровки или доступа к данным | Управляйте данными и функциональным размещением в памяти вставкой прагм | rtwdemo_memsec |
Оцените и настройте образцовые параметры конфигурации на основе приложения и ожидаемой среды выполнения | Настройка модели (Simulink Coder) | Сгенерируйте код Используя Simulink® Coder™ (Simulink Coder) Сгенерируйте код Используя Embedded Coder® |
Проверяйте модель по основным руководствам по моделированию | rtwdemo_advisor1 | |
Добавьте собственные проверки в Model Advisor Simulink | Создайте (Simulink Check) проверок Model Advisor | slvnvdemo_mdladv |
Проверяйте модель по пользовательским стандартам или инструкциям | Выберите и осуществленные проверки Model Advisor (Simulink) | |
Проверяйте модель по промышленным стандартам и инструкции (MathWorks Automotive Advisory Board (MAAB), 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) | slxml_sfcar |
Совершенствуйте модель концепции своего компонента или системы Протестируйте и подтвердите функциональность модели в режиме реального времени Протестируйте оборудование Получите профили в реальном времени и метрики кода для анализа и измеряющий на основе вашего встраиваемого процессора Оцените выполнимость алгоритма на основе интеграции с оборудованием объекта или средой | Развертывание (Simulink Coder) | rtwdemo_sil_topmodel |
Сгенерируйте исходный код для своих моделей, интегрируйте код в свою производственную среду сборки и запустите его на существующем оборудовании | Генерация кода (Simulink Coder) |
rtwdemo_counter rtwdemo_counter_msvc rtwdemo_fcnprotoctrl rtwdemo_cppclass rtwdemo_async Выборки рабочего процесса (AUTOSAR Blockset) |
Интегрируйте существующий внешне записанный C или Код С++ с вашей моделью для симуляции и генерации кода | Авторская разработка блока и интегрирование симуляции (Simulink) Внешняя интеграция кода (Simulink Coder) | rtwdemos , выберите Model Architecture and Design> External Code Integration |
Сгенерируйте код для быстрого прототипирования на цели на определенных встроенных микропроцессорах и ИДАХ | Разверните сгенерированное компонентное программное обеспечение на целевых платформах приложения | В rtwdemo_vxworks |
Сгенерируйте код приложения
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Оптимизируйте сгенерировал код С ANSI® для производства (например, отключите код с плавающей точкой, удалите код завершения и обработки ошибок и точки входа объединения кода в одну функции), | Производительность (Simulink Coder) | rtwdemos , выберите Performance |
Оптимизируйте код для определенной среды выполнения, пользуясь специализированными функциональными библиотеками | Замена кода (Simulink Coder) | Оптимизируйте сгенерированный код путем разработки и пользования заменяющими библиотеками кода - Simulink® |
Управляйте форматом и стилем сгенерированного кода | rtwdemo_parentheses | |
Управляйте комментариями, вставленными в сгенерированный код | rtwdemo_comments | |
Введите специальные инструкции или теги для постобработки сторонними программами или процессами | Настройте обработку сборки постгенерации кода (Simulink Coder) | rtwdemo_buildinfo |
Включайте ссылки требований в сгенерированный код | Рассмотрите и поддержите ссылки требований (Simulink Requirements) | rtwdemo_requirements |
Проследите блоки модели и подсистемы к сгенерированному коду и наоборот | rtwdemo_comments rtwdemo_hyperlinks | |
Интегрируйте существующий внешне записанный код с кодом, сгенерированным для модели | Авторская разработка блока и интегрирование симуляции (Simulink) | rtwdemos , выберите Model Architecture and Design> External Code Integration |
Проверьте сгенерированный код для MISRA C® и другие нарушения во время выполнения | ||
Защитите интеллектуальную собственность проекта модели компонента и сгенерированного кода Сгенерируйте двоичный файл (совместно использованная библиотека) | Ссылочные защищенные модели от третьих лиц (Simulink) | |
Сгенерируйте S-функцию файла MEX для модели или подсистемы так, чтобы она могла быть совместно использована со сторонним поставщиком | Сгенерируйте S-функцию от подсистемы (Simulink Coder) | |
Сгенерируйте разделяемую библиотеку для модели или подсистемы так, чтобы она могла быть совместно использована со сторонним поставщиком | ||
Протестируйте сгенерированный производственный код со средой или моделью объекта управления, чтобы проверить преобразование модели к коду | Протестируйте сгенерированный код с SIL и PIL симуляциями | |
Создайте обертку S-функции для вызова вашего сгенерированного исходного кода из модели, запускающейся в Simulink | Запишите S-функцию обертки и файлы TLC (Simulink Coder) | |
Настройте и запустите тесты SIL на своем хосте - компьютере | Протестируйте сгенерированный код с SIL и PIL симуляциями | |
Интегрируйте и проверьте программное обеспечение
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Интегрируйте существующий внешне записанный C или Код С++ с моделью для симуляции и генерации кода | Авторская разработка блока и интегрирование симуляции (Simulink) | rtwdemos , выберите Model Architecture and Design> External Code Integration |
Соединитесь с интерфейсами данных для структур данных сгенерированного кода C | Интерфейсы обмена данными (Simulink Coder) | rtwdemo_capi rtwdemo_asap2 |
Управляйте генерацией интерфейсов кода так, чтобы внешнее программное обеспечение могло скомпилировать, создайте и вызовите сгенерированный код | rtwdemo_fcnprotoctrl rtwdemo_cppclass | |
Экспортируйте виртуальный и подсистемы вызова функций | Сгенерируйте исходный код компонента для экспорта во внешнюю кодовую базу | rtwdemo_exporting_functions |
Включайте целевой код | Замена кода (Simulink Coder) | Оптимизируйте сгенерированный код путем разработки и пользования заменяющими библиотеками кода - Simulink® |
Настройте и управляйте процессом сборки | Индивидуальная настройка процесса сборки (Simulink Coder) | rtwdemo_buildinfo |
Создайте zip-файл, который содержит файлы сгенерированного кода, статические файлы и зависимые данные, чтобы создать сгенерированный код в среде кроме вашего хоста - компьютера | Переместите код к другой среде разработки (Simulink Coder) | rtwdemo_buildinfo |
Интегрируйте компоненты программного обеспечения как полную систему для тестирования в целевом окружении | ||
Сгенерируйте исходный код для интеграции с определенными производственными средами | Генерация кода (Simulink Coder) |
rtwdemo_async Выборки рабочего процесса (AUTOSAR Blockset) |
Интегрируйте код для определенной среды выполнения, пользуясь специализированными функциональными библиотеками | Замена кода (Simulink Coder) | Оптимизируйте сгенерированный код путем разработки и пользования заменяющими библиотеками кода - Simulink® |
Введите специальные инструкции или теги для постобработки сторонними программами или процессами | Настройте обработку сборки постгенерации кода (Simulink Coder) | rtwdemo_buildinfo |
Интегрируйте существующий внешне записанный код с кодом, сгенерированным для модели | Авторская разработка блока и интегрирование симуляции (Simulink) Внешняя интеграция кода (Simulink Coder) | rtwdemos , выберите Model Architecture and Design> External Code Integration |
Соединитесь с интерфейсами данных для структур данных сгенерированного кода C | Интерфейсы обмена данными (Simulink Coder) | rtwdemo_capi rtwdemo_asap2 |
Запланируйте сгенерированный код | Таймеры (Simulink Coder) Основанное на времени планирование (Simulink Coder) Основанное на событии планирование (Simulink Coder) | Основанные на времени модели планирования в качестве примера (Simulink Coder) |
Проверьте файлы объектного кода в целевом окружении | Протестируйте сгенерированный код с SIL и PIL симуляциями | |
Настройте и запустите тесты PIL в своей целевой системе | Протестируйте сгенерированный код с SIL и PIL симуляциями Сконфигурируйте процессор в цикле (PIL) для пользовательской цели Создайте целевой канал связи для процессора в цикле (PIL) симуляция См. список |
Интегрируйте, проверьте и калибруйте компоненты системы
Цели | Информация о сопутствующем товаре | Примеры |
---|---|---|
Интегрируйте программное обеспечение и его микропроцессор с аппаратной средой для итогового продукта встраиваемой системы Добавьте сложность среды (или объект) под управлением на тестовую платформу Протестируйте и проверьте встраиваемую систему или блок управления при помощи целевого окружения в реальном времени | Разверните модель алгоритма для быстрого прототипирования в реальном времени (Simulink Coder) Разверните модель среды для оборудования в реальном времени в цикле (HIL) симуляция (Simulink Coder) Разверните сгенерированные программы независимого исполняемого файла на целевом компьютере Разверните сгенерированное компонентное программное обеспечение на целевых платформах приложения | |
Сгенерируйте исходный код для Программное-аппаратного тестирования | Генерация кода (Simulink Coder) Разверните модель среды для оборудования в реальном времени в цикле (HIL) симуляция (Simulink Coder) | |
Проведите Программное-аппаратное тестирование жесткого реального времени с помощью PC | Создайте и запущенное приложение реального времени из модели Simulink (Simulink Real-Time) Симуляция в реальном времени и тестирование (Simulink Real-Time) | |
Настройте ECU правильно для его надлежащего использования | Интерфейсы обмена данными (Simulink Coder) | rtwdemo_capi rtwdemo_asap2 |
Сгенерируйте файлы данных ASAP2 | Экспортируйте файл ASAP2 для измерения данных и калибровки (Simulink Coder) | rtwdemo_asap2 |
Сгенерируйте файлы интерфейса данных о API C | Обменивайтесь данными между сгенерированным и внешним кодом Используя API C (Simulink Coder) | rtwdemo_capi |