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

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

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

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

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

Типы симуляции и моделирующий в V-модели

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Эта таблица сравнивает типы тестирования в цикле на верификацию, идентифицированную на правой стороне V-диаграммы-модели, показанной в V-модели для Разработки системы.

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

Две опции:

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

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

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

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

Цикл, точный, потому что код работает на оборудовании

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

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

Не может быть точный цикл

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

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

Точный цикл

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

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

Настольное удобство

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

Уменьшает затраты на оборудование

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

Оборудование использования — плата процесса и кабели

Настольное удобство

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

Уменьшает затраты на оборудование

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

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

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

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

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

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

Документ и подтверждает требования

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

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

Simulink Report Generator

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

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

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

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

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

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

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

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

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

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

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

Распределите симуляцию, натыкается на несколько компьютеров

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
Сгенерируйте код для быстрого прототипирования в жесткое реальное время, с помощью PC

Simulink Real-Time

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

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
Задайте, как сигналы, настраиваемые параметры, состояния блока и объекты данных объявлены, сохранены и представлены в сгенерированном коде

Организуйте данные о параметре в структуру при помощи класса памяти Struct

rtwdemo_cscpredef
Создайте словарь данных для модели

Что такое словарь данных?

rtwdemo_configinterface
Переместите сегменты данных для сгенерированных функций и данных с помощью #pragmas для калибровки или доступа к данным

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

rtwdemo_memsec
Оцените и настройте параметры конфигурации модели на основе приложения и ожидаемой среды выполнения

Настройка модели

Настройка модели

Сгенерируйте код Используя Simulink® Coder™
Сгенерируйте код Используя Embedded Coder®
Проверяйте модель по основным руководствам по моделированию

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

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 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
Сгенерируйте код для быстрого прототипирования на цели на определенных встроенных микропроцессорах и ИДАХ

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

В 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® и другие нарушения во время выполнения

MISRA C инструкции

Polyspace Bug Finder

Polyspace Code Prover

 

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

Сгенерируйте двоичный файл (совместно использованная библиотека)

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

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

 
Сгенерируйте S-функцию файла 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) симуляция

 
Проведите Программное-аппаратное тестирование жесткого реального времени с помощью PC

Simulink Real-Time

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

Настройте ECU правильно для его надлежащего использования

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

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

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

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

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

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

rtwdemo_capi