Валидация и верификация для разработки системы

Подходом к проверке и проверке разработки системы является V-модель.

V-модель для разработки систем

V-модель является представлением разработки системы, которое подчеркивает шаги верификации и валидации в процессе разработки системы. Левая сторона «V» определяет шаги, которые приводят к генерации кода, включая спецификацию системы и детальную разработку ПО. Правая сторона V фокусируется на верификации и валидации шагов, упомянутых в левой части, включая программное и системное интегрирование.

В зависимости от вашего приложения и его роли в процессе, вы можете сосредоточиться на одном или нескольких шагах, вызываемых в V-модели, или повторить шаги на нескольких этапах V-модели. Технология генерации кода и связанные с ней продукты обеспечивают инструменты, которую можно применять к V-модели для разработки. Для получения дополнительной информации о том, как можно применить MathWorks® технология генерации кода и соответствующие продукты для процесса V-модели, см.:

Типы симуляции и прототипирования в V-модели

Используйте V-модель для разработки системы для различных типов симуляции и прототипирования, таких как быстрое моделирование, системная симуляция, быстрое прототипирование и быстрое прототипирование на целевом компьютере. В этой таблице сравниваются типы симуляции и прототипирования, идентифицированные в левой части схемы V-модели, показанной в V-модели для разработки системы.

 СимуляцияБыстрая симуляцияСистемная симуляция, быстрое прототипированиеБыстрое прототипирование на целевом компьютере
ЦельТестируйте и подтверждайте функциональность концепции модели Уточните, протестируйте и проверьте функциональность концепции модели за нереальное время Тестируйте новые идеи и исследованияУточнение и калибровка проекта в процессе разработки
Оборудование выполненияКомпьютер разработчика

Компьютер разработчика

Независимый исполняемый файл запускается вне MATLAB® и Simulink® окружения

ПК или оборудование nontargetВстраиваемый вычислительный модуль (ECU) или оборудование ближнего производства
Эффективность кода и задержка ввода-выводаНе применяетсяНе применяетсяМеньше внимания к эффективности кода и задержке ввода-выводаБольше внимания уделяется эффективности кода и задержкам ввода-вывода
Простота использования и стоимость

Может симулировать компонент (алгоритм или контроллер) и окружение (или объект)

Режим normal mode симуляция в Simulink позволяет вам получить доступ, отображение и настроить данные во время верификации

Можно ускорить симуляции Simulink

Легкий для того чтобы симулировать модели гибридных динамических систем, которые включают компоненты и модели окружения

Идеально подходит для пакетных симуляций или симуляций Монте-Карло

Можно повторить симуляции с различными наборами данных, в интерактивном или программном режиме с помощью скриптов, не перестраивая модель

Может соединиться с Simulink, чтобы контролировать сигналы и настраивать параметры

Может потребоваться пользовательские симуляторы в реальном времени и оборудование

Может быть сделано с недорогим оборудованием готового ПК и платами ввода-вывода

Может использовать существующее оборудование для меньших затрат и большего удобства

Типы проверки в контуре в V-модели

В этой таблице сравниваются типы тестирования в цикле для верификации, идентифицированные на правой стороне схемы V-модели, показанной в V-модели для разработки системы.

 SIL симуляцияPIL симуляция на встраиваемом оборудованииPIL симуляция на Симулятор процессораПрограммно-аппаратная симуляция
ЦельПроверьте исходный код компонента Проверьте объектный код компонентаПроверьте объектный код компонентаПроверьте функциональность системы
Точность и точность

Две опции:

Тот же исходный код, что и целевой, но может иметь числовые различия

Изменяет исходный код, чтобы эмулировать размеры слов, но бит точен для математики с фиксированной точкой

Тот же объектный код

Бит, точный для математики с фиксированной точкой

Цикл точен, потому что код запускается на оборудовании

Тот же объектный код

Бит, точный для математики с фиксированной точкой

Возможно, цикл не точен

Тот же исполняемый код

Бит, точный для математики с фиксированной точкой

Точный цикл

Используйте реальные и эмулированные системы ввода-вывода

Платформы выполненияКомпьютер разработчикаЦелевой компьютерКомпьютер разработчикаЦелевой компьютер
Простота использования и стоимость

Удобство рабочего стола

Выполняется только в Simulink

Снижает оборудование затраты

Выполняется на рабочем столе или испытательном стенде

Использует оборудование - технологическую плату и кабели

Удобство рабочего стола

Выполняется на компьютере разработчика с Simulink и интегрированной средой разработки (IDE)

Снижает оборудование затраты

Выполняется на испытательном стенде или в лаборатории

Использует оборудование - процессор, встроенный вычислительный модуль (ECU), устройства ввода-вывода и кабели

Возможности в реальном времениНе в реальном времениНе в реальном времени (между выборками)Не в реальном времени (между выборками)Жесткое реальное время

Сводные данные целей генерации кода

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

Можно открыть и запустить примеры, связанные ниже, и сгенерировать код.

Документирование и валидация требований

ЦелиСопутствующая информация о продуктеПримеры

Сбор требований в документе, электронной таблице, основе данных или инструменте управления требованиями

Simulink Report Generator

Инструменты сторонних поставщиков, такие как 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

Запуск автономных быстрых симуляций

Запустите симуляции пакета или Монте-Карло

Повторите симуляции с различными наборами данных, в интерактивном режиме или программно со скриптами, не перестраивая модель

Настройки параметров и мониторинг сигналов в интерактивном режиме

Симулируйте модели для гибридных динамических систем, которые включают компоненты и окружение или объект, который требует решателей с переменным шагом и обнаружения пересечения нулем

Ускорение, уточнение и тестирование гибридной динамической системы на Хост-компьютер при помощи целевого файла системы RSim

Симуляции режима external mode для настройки параметров и контроля сигналов

Выполняйте быстрые симуляции в области значений значений параметров

Выполняйте пакетные симуляции без перекомпиляции сгенерированного кода

Используйте MAT-файлы для передачи данных на входные блоки для быстрых симуляций

Распределите запуски симуляции между несколькими компьютерами

Simulink Test

MATLAB Parallel Server

Parallel Computing Toolbox

 

Разработка спецификаций системы

ЦелиСопутствующая информация о продуктеПримеры

Создайте проект программных продуктов для алгоритмов, которые вы разрабатываете в коде MATLAB для обзоров и архивирования

MATLAB Report Generator

 

Создайте программные продукты проекта из Simulink и Stateflow® модели для обзоров и архивирования

Разработка системы описание ( Simulink Report Generator)

Сгенерируйте отчет генерации кода

Добавьте один или несколько компонентов в другое окружение для системной симуляции

Уточните модель компонента

Уточните интегрированную системную модель

Проверьте функциональность модели за нереальное время

Протестируйте модель концепции

Развертывание модели алгоритма для быстрого прототипирования в реальном времени 

Планируйте сгенерированный код

Абсолютные и истекшие временные Расчеты

Основанное на времени планирование и генерация кода

Асинхронные события

Основанные на времени примеры планирования

Задайте контуры функции системы

Подсистемы

rtwdemo_atomic
rtwdemo_ssreuse
rtwdemo_filepart
rtwdemo_exporting_functions

Задайте компоненты и контуры для проекта и инкрементальной генерации кода

Основанное на компонентах моделирование

Основанное на компонентах моделирование

rtwdemo_mdlreftop

Задайте функциональные интерфейсы, чтобы внешнее программное обеспечение могло компилировать, создавать и активировать сгенерированный код

Данные и функциональные Строения C

rtwdemo_configinterface
rtwdemo_configdefaults
rtwdemo_fcnprotoctrl
rtwdemo_cppclass

Управление упаковкой данных в сгенерированный код для интеграции и упаковки данных

Данные и функциональные Строения C

rtwdemo_ssreuse
rtwdemo_mdlreftop
rtwdemo_configinterface

Сгенерируйте и управляйте форматом комментариев и идентификаторов в сгенерированном коде

Сконфигурируйте комментарии кода

Конструкция сгенерированных идентификаторов

rtwdemo_comments
rtwdemo_symbols

Создайте zip-файл, который содержит сгенерированные файлы кода, статические файлы и зависимые данные, чтобы создать сгенерированный код в окружении, отличной от вашего хоста-компьютера

Перемещение кода в другую среду разработки

rtwdemo_buildinfo

Экспортируйте модели для валидации в симуляторе системы с помощью общих библиотек

Упаковать сгенерированный код как общие библиотеки

rtwdemo_shrlib

Уточните проекты модели компонента и окружения путем быстрой итерации между проектированием алгоритма и прототипированием

Проверьте, может ли компонент адекватно управлять физической системой в нереальном времени

Оцените производительность системы перед размещением оборудования, производственного программного обеспечения кодирования или приверженностью фиксированному проекту

Тестирование оборудования

Развертывание

Развертывание

 

Сгенерируйте код для быстрого прототипирования

Сгенерируйте модульный код функции для невиртуальных подсистем

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_async
Сгенерируйте код для быстрого прототипирования в жестком режиме реального времени, используя ПК

Simulink Real-Time

Создайте и запустите приложение реального времени из модели Simulink (Simulink Real-Time)
Сгенерируйте код для быстрого прототипирования в мягком режиме реального времени, используя ПК

Simulink Desktop Real-Time

sldrtex_vdp (и другие)

Разработка рабочей разработки ПО

ЦелиСопутствующая информация о продуктеПримеры
Уточните проект модели для представления и хранения данных в сгенерированном коде

Доступ к данным для прототипирования и отладки

Представление данных и доступ

 

Выберите функции генерации кода для развертывания

Время выполнения Окружения Строения

Время выполнения Окружения Строения

Совместное использование кода утилиты

Генерация кода AUTOSAR

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 ®
Проверяйте модель на соответствие основным руководствам по моделированию

Проверяйте свою модель с помощью Model Advisor

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 Coverage

 
Докажите свойства и сгенерируйте тестовые векторы для моделей

Simulink Design Verifier™

sldvdemo_cruise_control
sldvdemo_cruise_control_verification
Создавайте отчеты о моделях и разработках ПО

MATLAB Report Generator

Simulink Report Generator

Разработка системы описание ( 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] и другие нарушения во время выполнения

Руководящие принципы MISRA C

Polyspace Bug Finder

Polyspace Code Prover

 

Защита интеллектуального свойства проекта модели компонента и сгенерированного кода

Сгенерируйте двоичный файл (общая библиотека)

Ссылка на защищенные модели от третьих лиц

Упаковать сгенерированный код как общие библиотеки

 
Сгенерируйте Файл MEX для модели или подсистемы, чтобы она могла использоваться совместно с сторонним поставщиком

Сгенерируйте S-функцию из подсистемы

 
Сгенерируйте общую библиотеку для модели или подсистемы, чтобы ее можно было использовать совместно с сторонним поставщиком

Упаковать сгенерированный код как общие библиотеки

 
Протестируйте сгенерированный производственный код с помощью окружения или модели объекта управления для проверки преобразования модели в код

Симуляция Цикле

Тестируйте сгенерированный код с SIL и PIL симуляциями
Создайте оболочку S-функции для вызова вашего сгенерированного исходного кода из модели, работающей в Simulink

Запись файлов S-функции и TLC оболочки

 
Настройте и запуск тесты 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
Управляйте генерацией интерфейсов кода, чтобы внешнее программное обеспечение могло компилировать, создавать и активировать сгенерированный код

Данные и функциональные Строения C

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)

Смотрите список supported hardware для Embedded Coder® продукт на веб-сайте MathWorks, а затем найти пример для связанного интересующего продукта

Интеграция, проверка и калибровка системных компонентов

ЦелиСопутствующая информация о продуктеПримеры

Интеграция программного обеспечения и его микропроцессора с оборудованием окружения для конечного продукта встраиваемой системы

Добавьте сложность окружения (или объекта) под управлением к тестовой платформе

Тестируйте и проверяйте встраиваемую систему или модуль управления с помощью целевого окружения в реальном времени

Развертывание модели алгоритма для быстрого прототипирования в реальном времени

Развертывание модели окружения для симуляции оборудования в цикле (HIL) в реальном времени

Развертывание сгенерированных Независимых исполняемых файлов программ на Целевой компьютер

Развертывание сгенерированного программного обеспечения компонента на целевых платформах приложений

 
Сгенерируйте исходный код для Программное-аппаратного тестирования

Генерация кода

Генерация кода

Развертывание модели окружения для симуляции оборудования в цикле (HIL) в реальном времени

 
Жесткое программное-аппаратное тестирование в режиме реального времени с использованием ПК

Simulink Real-Time

Создайте и запустите приложение реального времени из модели Simulink (Simulink Real-Time)
Симуляция и проверка в реальном времени (Simulink Real-Time)

Правильно настройте установку пиролиза для ее целевого использования

Калибровка и измерение

Калибровка и измерение

rtwdemo_capi
rtwdemo_asap2
Сгенерируйте ASAP2 файлов данных

Экспорт ASAP2 файла для измерения и калибровки данных

rtwdemo_asap2
Сгенерируйте файлы интерфейса данных C API

Обмен данными между сгенерированным и внешним кодом с использованием C API

rtwdemo_capi