exponenta event banner

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

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

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

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

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

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

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

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

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

Автономный исполняемый файл работает вне сред MATLAB ® и Simulink ®

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

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

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

Ускорение моделирования Simulink

Простота моделирования моделей гибридных динамических систем, включающих компоненты и модели среды

Идеально подходит для моделирования партий или Монте-Карло

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

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

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

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

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

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

В этой таблице сравниваются типы внутриконтурного тестирования для проверки, определенные в правой части диаграммы V-модели, показанной в V-Model for System Development.

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

Два варианта:

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

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

Тот же код объекта

Точность битов для математики с фиксированной точкой

Точность цикла, так как код работает на оборудовании

Тот же код объекта

Точность битов для математики с фиксированной точкой

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

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

Точность битов для математики с фиксированной точкой

Точность цикла

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

Исполнительные платформыКомпьютер разработкиОконечное оборудованиеКомпьютер разработкиОконечное оборудование
Простота использования и стоимость

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

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

Снижение стоимости оборудования

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

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

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

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

Снижение стоимости оборудования

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

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

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

Сводка по целям создания кода

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

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

Документирование и проверка требований

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

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

Генератор отчетов Simulink

Инструменты сторонних производителей, такие как Microsoft ® Word, Microsoft Excel ®, необработанный HTML или IBM ® Rational ® DOORS ®

 

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

Создание отчета о требованиях, связанных с моделью

Интерфейс управления требованиями (требования к Simulink)

Двунаправленная трассировка в Microsoft Word, Microsoft Excel, HTML и IBM Rational DOORS

slvnvdemo_fuelsys_docreq
Включить ссылки на требования в созданный код

Просмотр и ведение ссылок на требования (требования к Simulink)

rtwdemo_requirements
Элементы и подсистемы микромоделей для создания кода и наоборот

Трассировка кода

rtwdemo_hyperlinks
Проверка, уточнение и тестирование концептуальной модели не в реальном времени на компьютере разработчика

Архитектура и дизайн модели

Архитектура и дизайн модели

Моделирование

Ускорение

Система управления соотношением воздуха и топлива с картами статофлоу

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

Выполнение моделирования партии или Монте-Карло

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

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

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

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

Моделирование внешнего режима для настройки параметров и мониторинга сигналов

Быстрое моделирование по диапазону значений параметров

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

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

Распределение прогонов моделирования на нескольких компьютерах

Тест Simulink

Параллельный сервер MATLAB

Панель инструментов для параллельных вычислений

 

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

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

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

Генератор отчетов MATLAB

 

Создание артефактов дизайна из моделей Simulink и Stateflow ® для анализа и архивирования

Описание конструкции системы (генератор отчетов Simulink)

Создание отчета о создании кода

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

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

Уточнение интегрированной модели системы

Проверка функциональности модели в режиме, отличном от реального времени

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

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

Код, созданный по расписанию

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

Планирование на основе времени и создание кода

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

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

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

Подсистемы

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 (Simulink Real-Time)
Создание кода для быстрого создания прототипов в режиме реального времени с помощью ПК

Настольный компьютер Simulink в реальном времени

sldrtex_vdp (и другие)

Разработка подробного проекта программного обеспечения

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

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

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

 

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

Конфигурация среды выполнения

Конфигурация среды выполнения

Общий доступ к коду утилиты

Создание кода AUTOSAR

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_async
Образцы рабочего процесса AUTOSAR (Блок AUTOSAR)
Укажите параметры целевого оборудования

Конфигурация среды выполнения

Конфигурация среды выполнения

rtwdemo_targetsettings
Варианты конструкторской модели

Определение, настройка и активация вариантов

Системы вариантов

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

Типы данных параметров в сгенерированном коде

Поддержка создания кода с фиксированной точкой (Конструктор с фиксированной точкой)

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

Итеративное преобразование фиксированных точек в Simulink (конструктор фиксированных точек)

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

Типы данных параметров в сгенерированном коде

fxpdemo_feedback
Создание или переименование типов данных специально для приложения

Имена типов управляющих данных в сгенерированном коде

rtwdemo_udt
Управление форматом идентификаторов в сгенерированном коде

Построение сгенерированных идентификаторов

rtwdemo_symbols
Указание способа объявления, сохранения и представления сигналов, настраиваемых параметров, состояний блоков и объектов данных в сгенерированном коде

Организация данных параметров в структуру с использованием класса Struct Storage

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

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

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

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

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

Конфигурация модели

Конфигурация модели

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

Проверка модели с помощью помощника по модели

rtwdemo_advisor1
Добавление пользовательских проверок в Simulink Model Advisor

Создание проверок помощника по модели (Simulink Check)

Создание и развертывание пользовательской конфигурации Model Advisor (Simulink Check)
Проверка модели на соответствие пользовательским стандартам или рекомендациямПроверка модели с помощью помощника по модели 
Проверка модели на соответствие отраслевым стандартам и руководящим принципам (Консультативный совет MathWorks (MAB), IEC 61508, IEC 62304, ISO 26262, EN 50128 и DO-178)

Стандарты, рекомендации и использование блоков

Проверка соответствия модели (Simulink Check)

rtwdemo_iec61508
Получение покрытия модели для структурного анализа покрытия, такого как MCDC

Покрытие Simulink

 
Проверка свойств и создание тестовых векторов для моделей

Verifier™ проектирования Simulink

sldvdemo_cruise_control
sldvdemo_cruise_control_verification
Создание отчетов о моделях и проектах программного обеспечения

Генератор отчетов MATLAB

Генератор отчетов Simulink

Описание конструкции системы (генератор отчетов Simulink)

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

Создание веб-представлений модели (генератор отчетов Simulink)

Сравнение и объединение моделей Simulink, содержащих поток состояний

Уточнение концептуальной модели компонента или системы

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

Протестируйте оборудование

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

Оценка осуществимости алгоритма на основе интеграции с окружающей средой или оборудованием завода

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

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

Профилирование выполнения кода

Метрики статического кода

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

Создание кода

Создание кода

rtwdemo_counter
rtwdemo_counter_msvc
rtwdemo_fcnprotoctrl
rtwdemo_cppclass
rtwdemo_async
Образцы рабочего процесса AUTOSAR (Блок AUTOSAR)
Интеграция существующего внешне написанного кода C или C++ с моделью для моделирования и создания кода

Интеграция разработки и моделирования блоков

Интеграция внешнего кода

rtwdemosвыберите «Архитектура и дизайн модели» > «Интеграция внешнего кода»
Создание кода для быстрого создания прототипов на конкретных встроенных микропроцессорах и IDE

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

В rtwdemo_vxworks

Создать код приложения

ЦелиСвязанная информация о продуктеПримеры
Оптимизация генерируемого кода ANSI ® C для производства (например, отключение кода с плавающей запятой, удаление кода завершения и обработки ошибок и объединение точек ввода кода в отдельные функции)

Работа

Работа

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

Замена кода

Замена кода

Настройка замены кода

Оптимизация сгенерированного кода путем разработки и использования библиотек замены кода - Simulink ®
Управление форматом и стилем создаваемого кода

Параметры конфигурации модели: стиль кода

rtwdemo_parentheses
Управляющие комментарии, вставленные в сгенерированный код

Параметры конфигурации модели: Комментарии

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

Настройка обработки построений после создания кода

rtwdemo_buildinfo
Включить ссылки на требования в созданный код

Просмотр и ведение ссылок на требования (требования к Simulink)

rtwdemo_requirements
Трассировка блоков и подсистем модели по сгенерированному коду и наоборот

Трассировка кода

Стандарты, рекомендации и использование блоков

rtwdemo_comments
rtwdemo_hyperlinks
Интеграция существующего внешнего кода с кодом, сгенерированным для модели

Интеграция разработки и моделирования блоков

Интеграция кода

rtwdemosвыберите «Архитектура и дизайн модели» > «Интеграция внешнего кода»
Проверка сгенерированного кода для MISRA C ® [a] и других нарушений во время выполнения

Рекомендации MISRA C

Поиск ошибок Polyspace

Проверка кода Polyspace

 

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

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

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

Код, созданный в пакете, как общие библиотеки

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

Создание S-функции из подсистемы

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

Код, созданный в пакете, как общие библиотеки

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

Моделирование ПО в контуре

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

S-функция оболочки записи и файлы TLC

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

Моделирование ПО в контуре

Тест сгенерированного кода с моделированием SIL и PIL

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

Интеграция и проверка программного обеспечения

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

Интеграция разработки и моделирования блоков

Интеграция кода

rtwdemosвыберите «Архитектура и дизайн модели» > «Интеграция внешнего кода»
Подключение к интерфейсам данных для созданных структур данных кода C

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

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

rtwdemo_capi
rtwdemo_asap2
Управление созданием интерфейсов кода для компиляции, создания и вызова сгенерированного кода внешним программным обеспечением

Конфигурирование данных и функций C

rtwdemo_fcnprotoctrl
Экспорт виртуальных подсистем и подсистем функционального вызова

Создание исходного кода компонента для экспорта во внешнюю базу кодов

rtwdemo_exporting_functions
Включить код, специфичный для цели

Замена кода

Замена кода

Настройка замены кода

Оптимизация сгенерированного кода путем разработки и использования библиотек замены кода - Simulink ®
Настройка и управление процессом построения

Настройка процесса построения

rtwdemo_buildinfo

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

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

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

Проверка целевой среды

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

Создание кода

Создание кода

rtwdemo_async
Образцы рабочего процесса AUTOSAR (Блок AUTOSAR)
Интеграция кода для определенной среды выполнения с использованием специализированных библиотек функций

Замена кода

Замена кода

Настройка замены кода

Оптимизация сгенерированного кода путем разработки и использования библиотек замены кода - Simulink ®
Ввод специальных инструкций или тегов для постобработки сторонними инструментами или процессами

Настройка обработки построений после создания кода

rtwdemo_buildinfo
Интеграция существующего внешнего кода с кодом, сгенерированным для модели

Интеграция разработки и моделирования блоков

Интеграция внешнего кода

rtwdemosвыберите «Архитектура и дизайн модели» > «Интеграция внешнего кода»
Подключение к интерфейсам данных для созданных структур данных кода C

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

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

rtwdemo_capi
rtwdemo_asap2

Планирование созданного кода

Таймеры

Планирование на основе времени

Планирование на основе событий

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

Проверка файлов объектного кода в целевой среде

Моделирование ПО в контуре

Тест сгенерированного кода с моделированием SIL и PIL
Настройка и выполнение тестов PIL в целевой системе

Моделирование процессора в цикле

Тест сгенерированного кода с моделированием SIL и PIL

Конфигурирование процессора в петле (PIL) для пользовательского целевого объекта

Создание целевого канала связи для моделирования процессора в петле (PIL)

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

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

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

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

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

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

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

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

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

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

 
Создание исходного кода для тестирования HIL

Создание кода

Создание кода

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

 
Проведение жесткого тестирования HIL в режиме реального времени с использованием ПК

Симулинк в реальном времени

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

Правильно настроить ECU для его использования по назначению

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

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

rtwdemo_capi
rtwdemo_asap2
Создание файлов данных ASAP2

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

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

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

rtwdemo_capi