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

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

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

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

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

Архитектура модели и проект (Simulink Coder)

Архитектура модели и проект

Симуляция (Simulink)

Ускорение (Simulink)

Система управления состава топливно-воздушной смеси с диаграммами Stateflow (Simulink Coder)

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

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

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

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

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

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

Целевая хостом связь с симуляцией режима external mode (Simulink Coder)

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

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

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

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

Simulink Test

MATLAB Parallel Server

Parallel Computing Toolbox

 

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

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

Произведите артефакты проекта для алгоритмов, которые вы разрабатываете в коде MATLAB для отзывов и архивации

MATLAB Report Generator

 

Произведите артефакты проекта из Simulink и моделей Stateflow® для отзывов и архивации

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

rtwdemo_codegenrpt

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

Совершенствуйте модель компонента

Совершенствуйте модель интегрированной системы

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

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

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

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

Расчет абсолютного и прошедшего времени (Simulink Coder)

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

Асинхронные События (Simulink Coder)

Основанные на времени модели планирования в качестве примера (Simulink Coder)

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

Подсистемы (Simulink Coder)

rtwdemo_atomic
rtwdemo_ssreuse
rtwdemo_filepart
rtwdemo_exporting_functions

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

Компонентно-ориентированное моделирование (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 Real-Time

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

Simulink Desktop Real-Time

sldrtex_vdp (и другие)

Разработайте подробную разработку ПО

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

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

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

 

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

Настройка среды выполнения (Simulink Coder)

Настройка среды выполнения

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

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

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_async
Выборки рабочего процесса AUTOSAR (AUTOSAR Blockset)
Задайте настройки целевого компьютера

Настройка среды выполнения (Simulink Coder)

Настройка среды выполнения

rtwdemo_targetsettings
Варианты модели проекта

Задайте, сконфигурируйте и активируйте варианты (Simulink)

Вариантные системы

 
Задайте алгоритмы фиксированной точки в Simulink, Stateflow и подмножество языка MATLAB для генерации кода

Типы данных и масштабирующийся (Fixed-Point Designer)

Поддержка генерации фиксированной точки (Fixed-Point Designer)

rtwdemo_fixpt1
Система управления состава топливно-воздушной смеси с данными фиксированной точки
Преобразуйте модель с плавающей точкой или подсистему к представлению фиксированной точки

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

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

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 Coverage

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

Simulink Design Verifier™

sldvdemo_cruise_control
sldvdemo_cruise_control_verification
Сгенерируйте отчеты моделей и разработок ПО

MATLAB Report Generator

Simulink Report Generator

Описание разработки системы (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 (AUTOSAR Blockset)
Интегрируйте существующий внешне записанный код C or 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® и другие нарушения во время выполнения

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

Polyspace Bug Finder

Polyspace Code Prover

 

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

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

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

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

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

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

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

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

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

Программное обеспечение в симуляции цикла

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

Запишите S-функцию обертки и файлы TLC (Simulink Coder)

 
Настройте и запустите тесты SIL на своем хосте - компьютере

Программное обеспечение в симуляции цикла

Протестируйте сгенерированный код с SIL и PIL симуляциями

[a]  MISRA® и MISRA C являются зарегистрированными торговыми марками MISRA Ltd., сохраненной от имени Консорциума MISRA.

Интегрируйте и проверьте программное обеспечение

ЦелиИнформация о сопутствующем товареПримеры
Интегрируйте существующий внешне записанный код C or 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 (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) симуляция

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

Интегрируйте, проверьте и калибруйте компоненты системы

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

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

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

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

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

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

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

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

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

Генерация кода (Simulink Coder)

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

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

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

Simulink Real-Time

Создайте и запущенное приложение реального времени из модели 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