Метрики модели анализируют модель и помогают оценить ее размер, архитектуру, удобочитаемость и соответствие стандартам. Simulink ® Check™ предоставляет метрики для следующих типов показателей :
С помощью панели управления метриками можно собирать и просматривать метрики модели, чтобы получить оценку состояния качества проекта. Дополнительные сведения см. в разделе Сбор и изучение метрических данных с помощью панели мониторинга метрик.
Для программного выполнения метрик модели и экспорта результатов в файл можно использовать API метрики модели. Дополнительные сведения см. в разделе Программный сбор метрик модели.
Для рекомендаций и стандартов компании можно также использовать API метрики модели для создания собственных метрик модели, вычисления этих метрик и экспорта данных метрики. Дополнительные сведения см. в разделе Создание пользовательской метрической метрики модели для невиртуального счетчика блоков.
Для сбора метрических данных в модели или подсистеме выполните эти метрики.
| Метрика | Описание |
|---|---|
| Метрика блока Simulink |
Вычисляет количество блоков в модели. |
| Метрика подсистемы |
Вычисляет количество подсистем в модели. |
| Метрика связи с библиотекой |
Вычисляет количество связанных с библиотекой блоков в модели. |
| Эффективные строки метрики кода MATLAB |
Вычисляет количество действующих строк кода MATLAB ®. |
| Метрика объектов диаграммы потока состояний |
Вычисляет количество объектов Stateflow ®. |
| Строки кода для метрики блоков Stateflow |
Вычисляет количество строк кода для следующих блоков Stateflow в модели:
|
| Метрика глубины подсистемы |
Вычисляет глубину подсистемы модели. |
| Входная выходная метрика |
Вычисляет количество входов и выходов в модели. |
| Явная входная выходная метрика |
Вычисляет количество входов и выходов в модели. |
| Метрика файла | Вычисляет количество файлов модели и библиотеки. |
| Метрика функции MATLAB | Вычисляет количество функциональных блоков Matlab в модели. |
| Количество файлов модели | Вычисляет количество файлов модели. |
| Метрика параметра | Вычисляет количество объектов данных, параметризующих поведение модели. |
| Метрика диаграммы статофлоу | Вычисляет количество диаграмм Stateflow в модели. |
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Чтобы узнать больше об архитектуре модели или подсистемы, выполните эти метрики.
| Метрика | Описание |
|---|---|
| Показатель цикломатической сложности |
Вычисляет цикломатическую сложность модели. |
| Метрика содержимого клонирования | Вычисляет долю общего количества клонов подкомпонентов. |
| Метрика обнаружения клонов | Вычисляет количество клонов в компонентах в иерархии модели. |
| Метрика содержимого библиотеки | Вычисляет долю общего количества компонентов, являющихся связанными блоками библиотеки. |
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Чтобы определить, соответствует ли ваша модель или подсистема стандартам и рекомендациям, выполните одну или несколько из этих метрик.
| Метрика | Описание |
|---|---|
| Предупреждения анализатора кода MATLAB |
Определяет предупреждения для блоков кода MATLAB в модели. |
| Метрика диагностических предупреждений |
Вычисляет количество диагностических предупреждений. |
| Модель Advisor проверяет соответствие для систем с высокой целостностью |
Возвращает долю проверок, пройденных моделью из модуля Model Advisor DO-178C/DO-331 Standards. |
| Model Advisor проверяет соответствие стандартам моделирования для MAB | Возвращает долю проверок, пройденных моделью из стандарта MAB Model Advisor. |
| Проблемы проверки Model Advisor для систем с высокой целостностью |
Сообщает о количестве проблем в приложении Model Advisor DO-178C/DO-331 Standards. |
| Проверка проблем со стандартами MAB с помощью Model Advisor |
Сообщает о количестве проблем, связанных со стандартом MAAB Model Advisor. |
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Выполните эти метрики, чтобы определить удобочитаемость модели или подсистемы.
| Метрика | Описание |
|---|---|
| Неописательная метрика имени блока |
Определяет неописательные имена блоков Inport, Outport и Subsystem. |
| Метрика разделения уровней данных и структуры |
Вычисляет разделение уровней данных и структуры. |
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.SimulinkBlockCount
Код проверки помощника по модели: mathworks.metricchecks.SimulinkBlockCount
Расчет количества блоков Simulink в модели
Эта метрика используется для вычисления количества блоков в модели. Результаты предоставляют количество блоков на уровне модели и подсистемы. Эта метрика подсчитывает блоки на основе Simulink, но не включает нижележащие блоки, используемые для реализации блока. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйтеgetMetrics с идентификатором метрики, mathworks.metrics.SimulinkBlockCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать данные для этой метрики с помощью помощника по модели, выполните проверку метрики блока Simulink в меню «По задаче» > «Метрики модели» > «Метрики подсчета». При проверке помощника по модели отображается количество блоков в модели или подсистеме. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество блоков.
AggregatedValueКоличество блоков для компонента и его подкомпонентов.
Measures: Неприменимо.
Примечание
Результаты метрического анализа метрики блока Simulink могут отличаться от вызова sldiagnostics. Результат метрики блока Simulink:
Включает ссылочные модели.
Не включает базовые блоки, используемые для реализации блока MathWorks из обозревателя библиотеки Simulink.
Не включает ссылки в библиотеки MathWorks, что означает, что блоки библиотеки MathWorks, которые являются маскированными подсистемами, считаются одним блоком. Внутреннее содержимое этих блоков не учитывается.
Не включает скрытое содержимое в блоки Диаграммы потока состояний (Stateflow Charts) или Функциональные блоки MATLAB (MATLAB Function block).
Не включает блоки требований.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.SubSystemCount
Код проверки помощника по модели: mathworks.metricchecks.SubSystemCount
Отображение количества подсистем в модели
Эта метрика используется для вычисления количества подсистем в модели. Результаты обеспечивают количество подсистем на уровне модели и подсистемы.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.SubSystemCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать данные для этой метрики с помощью Model Advisor, выполните проверку «Метрика подсистемы» в меню «По задаче» > «Метрики модели» > «Метрики подсчета». При проверке помощника по модели отображается количество подсистем в модели или подсистеме. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество подсистем.
AggregatedValueКоличество подсистем для компонента и его подкомпонента.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Не подсчитывает подсистемы, связанные с библиотеками MathWorks ®.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.LibraryLinkCount
Код проверки помощника по модели: mathworks.metricchecks.LibraryLinkCount
Отображение количества библиотечных связей в модели
Эта метрика используется для вычисления количества связанных с библиотекой блоков в модели. Результаты предоставляют количество связанных с библиотекой блоков на уровне модели и подсистемы.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.LibraryLinkCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать результаты для этой метрики с помощью Model Advisor, выполните проверку «Метрика связи с библиотекой» (Library link metric) в меню «По задаче» (By Task) > «Метрика модели» (Model Metrics) > «Счетчик метрик» (Count Metrics.The Model Advisor). Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество связанных с библиотекой блоков.
AggregatedValueКоличество связанных с библиотекой блоков для компонента и его подкомпонентов.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Не подсчитывает подсистемы, связанные с библиотеками MathWorks.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.MatlabLOCCount
Код проверки помощника по модели: mathworks.metricchecks.MatlabLOCCount
Просмотр количества действующих строк кода MATLAB
Эта метрика используется для вычисления количества действующих строк кода MATLAB. Действующие строки кода MATLAB являются строками исполняемого кода. Пустые линии, линии, которые содержат только комментарии и линии, которые содержат только заявление конца, не считают эффективными строками кода. Результаты предоставляют количество эффективных строк кода MATLAB для каждого функционального блока MATLAB и для функций MATLAB в диаграммах Stateflow.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.MatlabLOCCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать результаты для этой метрики с помощью Model Advisor, выполните проверку Эффективные строки метрики кода MATLAB (Effective lines of MATLAB code metric) в меню По задаче (By Task) > Метрики модели (Model Metrics) > Метрики подсчета (Count Metrics). Проверка помощника по модели показывает количество действующих строк кода MATLAB для каждого функционального блока MATLAB и для функций MATLAB в диаграммах потока состояний в модели. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество действующих строк кода MATLAB.
AggregatedValueКоличество действующих строк кода MATLAB для компонента и его подкомпонентов.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Не анализирует содержимое кода MATLAB во внешних файлах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.StateflowChartObjectCount
Код проверки помощника по модели: mathworks.metricchecks.StateflowChartObjectCount
Отображение количества объектов Stateflow в каждой диаграмме
Эта метрика используется для вычисления количества объектов Stateflow. Для каждой диаграммы в модели результаты предоставляют количество следующих объектов Stateflow:
Атомарные подшаблоны
Коробки
Объекты данных
События
Графические функции
Соединения
Связанные диаграммы
Функции MATLAB
Примечания
Функции симулятора
Государства
Переходы
Таблицы правды
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.StateflowChartObjectCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать результаты для этой метрики с помощью помощника по модели, выполните проверку метрики объектов диаграммы Stateflow в меню «По задаче» > «Метрики модели» > «Метрики подсчета». При проверке помощника по модели отображается количество объектов Stateflow в каждой диаграмме модели. Проверка не анализирует диаграммы в ссылочных моделях и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество объектов Stateflow.
AggregatedValueКоличество объектов Stateflow для компонента и его подкомпонентов.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.StateflowLOCCount
Код проверки помощника по модели: mathworks.metricchecks.StateflowLOCCount
Отображение количества действующих строк кода для блоков Stateflow
Эта метрика используется для вычисления количества действующих строк кода в Stateflow. Действующие строки кода MATLAB являются строками исполняемого кода. Пустые линии, линии, которые содержат только комментарии и линии, которые содержат только заявление конца, не считают эффективными строками кода. Эта метрика вычисляет строки кода для следующих блоков Stateflow в модели:
Диаграмма, считая код для переходов и внутренних состояний
Блок таблицы перехода состояния
Блок таблицы истинности
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.StateflowLOCCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать результаты для этой метрики с помощью Model Advisor, выполните проверку «Строки кода для метрики блоков Stateflow» в меню «По задаче» > «Метрики модели» > «Метрики подсчета». При проверке помощника по модели отображается количество кодовых строк для блоков потока состояний в модели. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество строк блочного кода Stateflow.
AggregatedValueКоличество строк блочного кода Stateflow для компонента и его подкомпонентов.
MeasuresВектор с двумя записями: количество действующих строк кода на языке действий MATLAB и число действующих строк кода на языке действий C.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.SubSystemDepth
Код проверки помощника по модели: mathworks.metricchecks.SubSystemDepth
Вычисляет глубину иерархических дочерних элементов подсистемы или модели
Эта метрика используется для подсчета относительной глубины всех иерархических нижестоящих элементов для данной подсистемы или модели, начиная с заданного компонента или корня анализа. Анализ прохождения глубины останавливается, когда он достигает ссылочной модели или библиотеки. Глубина перезапускается с 0 для каждого из этих компонентов.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.SubSystemDepth.
slmetric.metric.AggregationMode параметр свойства имеет значение None.
Чтобы собрать результаты для этой метрики с помощью помощника по модели, выполните проверку «Метрика глубины подсистемы» в меню «По задаче» > «Метрики модели» > «Метрики подсчета». При проверке помощника по модели отображается глубина подсистем в модели. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
Value: глубина подсистемы для каждого компонента иерархии.
AggregatedValue: Неприменимо.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.IOCount
Отображение количества входов и выходов в модели
Используйте эту метрику для вычисления количества входов и выходов в модели, которые включают:
Входные данные: блоки ввода, порты триггера, порты включения, входные данные диаграммы и события.
Выходные данные: выходные блоки, выходные данные диаграммы и события.
Неявные входы: из блока, где соответствующий блок Goto находится вне компонента.
Неявные выходы: блок «Перейти к», где соответствующий блок «От» находится вне компонента.
slmetric.metric.AggregationMode параметр свойства имеет значение Max.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
Value: общий размер интерфейса или сумма элементов Measures.
AggregatedValueКоличество входов и выходов для компонента и его подкомпонентов.
MeasuresМассив состоит из количества входов, количества выходов, количества неявных входов и количества неявных выходов, которые являются локальными для компонента.
AggregatedMeasuresМаксимальное количество входов, выходов, неявных входов и неявных выходов для компонента и подкомпонентов.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: соответствие
Метрический идентификатор: mathworks.metrics.DiagnosticWarningsCount
Вычислите количество диагностических предупреждений, сообщенных при обновлении модели для моделирования.
Эта метрика используется для вычисления количества диагностических предупреждений Simulink, сообщаемых при обновлении модели для моделирования. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.DiagnosticWarningsCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество диагностических предупреждений.
AggregatedValueКоличество диагностических предупреждений для компонента и его подкомпонентов.
Measure: Неприменимо.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.ExplicitIOCount
Отображение количества входов и выходов в модели, исключая блоки From и Goto.
Используйте эту метрику для вычисления количества входов и выходов в модели, которые включают:
Входные данные: блоки ввода, порты триггера, порты включения, входные данные диаграммы и события.
Выходные данные: выходные блоки, выходные данные диаграммы и события.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.ExplicitIOCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Max.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueОбщий размер интерфейса или сумма элементов Measures.
AggregatedValueКоличество входов и выходов для компонента и его подкомпонентов.
MeasuresМассив, состоящий из количества входов и количества выходов, которые являются локальными для компонента.
AggregatedMeasuresМаксимальное количество входов и выходов для компонента и подкомпонентов.
Метрика:
Исключение блоков «Из» и «Перейти к».
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.FileCount
Вычисляет количество файлов модели и библиотеки, используемых определенным компонентом и его подкомпонентами.
Эта метрика используется для подсчета количества файлов модели и библиотеки, используемых определенным компонентом и его подкомпонентами. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.FileCount.
slmetric.metric.AggregationMode параметр свойства имеет значение None.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество файлов модели и библиотеки.
AggregatedValue: Неприменимо.
Measures: Неприменимо.
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.MatlabFunctionCount
Вычисляет количество функциональных блоков Matlab внутри компонента.
Эта метрика используется для подсчета количества функциональных блоков Matlab внутри компонента. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.MatlabFunctionCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество функциональных блоков Matlab.
AggregatedValueКоличество функциональных блоков Matlab для компонента и его подкомпонентов.
Measures: Неприменимо.
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.ModelFileCount
Вычислите количество файлов модели.
Эта метрика используется для подсчета количества файлов модели. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.ModelFileCount.
slmetric.metric.AggregationMode параметр свойства имеет значение None.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество файлов, на которые ссылается компонент и его подкомпоненты.
AggregatedValue: Неприменимо.
Measures: Неприменимо.
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.ParameterCount
Вычислите количество параметров.
Используйте эту метрику для вычисления количества управляемых пользователем данных параметризации в системе Simulink. Параметр - это переменная, используемая блоком Simulink или объектом базового типа (single, double, uint8, uint16, uint32, int8, int16, int32, boolean, logical, struct, char, cell), Simulink.Parameter, Simulink.Variant, или enum значение. Параметр может храниться либо в базовой рабочей области, либо в рабочей области модели, либо в словаре данных.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.ParameterCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество параметров, используемых внутри компонента.
AggregatedValueКоличество параметров компонента и его подкомпонентов.
Measures: Неприменимо.
Эта метрика:
Использует Simulink.findVars и наследует ограничения этой функции.
Подсчитывает экземпляры параметров в компоненте, а не уникальные параметры.
Не включает параметры в маскированные рабочие области.
Не включает в себя тип данных и сигнальные объекты.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Размер
Метрический идентификатор: mathworks.metrics.StateflowChartCount
Вычислите количество диаграмм Stateflow на любом уровне компонента.
Эта метрика используется для подсчета количества диаграмм Stateflow на любом уровне компонента. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.StateflowChartCount.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество диаграмм Stateflow на уровне модели.
AggregatedValueКоличество диаграмм для компонента и его подкомпонентов.
Measures: Неприменимо.
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Архитектура
Метрический идентификатор: mathworks.metrics.CyclomaticComplexity
Код проверки помощника по модели: mathworks.metricchecks.CyclomaticComplexity
Отображение цикломатической сложности модели
Эта метрика используется для вычисления цикломатической сложности модели. Цикломатическая сложность является мерой структурной сложности модели. Измерение сложности может отличаться для сгенерированного кода, чем для модели, из-за функций кода, которые не учитываются в этом анализе, таких как консолидированная логика и проверка ошибок. Для вычисления цикломатической сложности объекта (например, блока, диаграммы или состояния) Simulink Check использует следующую формулу:

N - количество точек решения, которые представляет объект, и количество результатов для n-й точки решения. Вычисление рассматривает векторизированную операцию или блок многопортового коммутатора в качестве одной точки решения. Инструмент добавляет 1 к номеру сложности для моделей, атомных подсистем и диаграмм Stateflow.
Результаты обеспечивают локальную и агрегированную цикломатическую сложность для:
Модель
Подсистемы
Чарты
Функции MATLAB
Локальная сложность - это цикломатическая сложность для объектов на их иерархическом уровне. Агрегированная цикломатическая сложность - цикломатическая сложность объекта и его потомков
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.CyclomaticComplexity.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать данные для этой метрики с помощью Model Advisor, выполните проверку Cyclomatic Complexity metric в разделе By Task > Model Metrics > Complexity Metrics. Проверка Model Advisor показывает локальную цикломатическую сложность для корневой модели и для объектов Simulink и Stateflow в системе. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueЛокальная цикломатическая сложность.
AggregatedValueАгрегированная цикломатическая сложность.
Measures: Неприменимо.
Метрика:
Не выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Не анализирует неактивные варианты.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Не анализирует ссылочные модели в ускоренном режиме.
Цикломатическая сложность для диаграмм статофлоу (покрытие Simulink)
Определение параметров покрытия (покрытие Simulink)
Метрический тип: Архитектура
Метрический идентификатор: mathworks.metrics.CloneContent
Вычисляет долю общего количества клонов подкомпонентов.
Эта метрика используется для вычисления доли общего количества клонов подкомпонентов. Клоны должны иметь одинаковые типы блоков и соединения, но они могут иметь различные значения параметров. Дополнительные сведения об обнаружении клонов см. в разделе Включение повторного использования компонентов с помощью обнаружения клонов.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.CloneContent.
slmetric.metric.AggregationMode параметр свойства имеет значение None.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueДоля от общего числа компонентов, являющихся клонами
AggregatedValue: Неприменимо.
MeasuresВектор, содержащий количество клонов, общее количество компонентов и номер группы клонов.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Архитектура
Метрический идентификатор: mathworks.metrics.CloneDetection
Вычислите количество клонов в модели.
Эта метрика используется для подсчета количества клонов в модели. Клоны должны иметь одинаковые типы блоков и соединения, но они могут иметь различные значения параметров. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.CloneDetection.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество клонов.
AggregatedValueКоличество клонов для компонента и его подкомпонентов.
Measures: Неприменимо.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: Архитектура
Метрический идентификатор: mathworks.metrics.LibraryContent
Вычисляет долю общего количества компонентов, являющихся связанными блоками библиотеки.
Эта метрика используется для вычисления доли общего количества компонентов, являющихся связанными блоками библиотеки. Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.LibraryContent.
slmetric.metric.AggregationMode параметр свойства имеет значение None.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
Value: Доля от общего числа подкомпонентов, которые являются связанными блоками библиотеки.
AggregatedValue: Неприменимо.
MeasuresВектор, содержащий количество связанных библиотечных блоков и общее количество компонентов
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование.
Метрический тип: читаемость
Метрический идентификатор: mathworks.metrics.DescriptiveBlockNames
Код проверки помощника по модели: mathworks.metricchecks.DescriptiveBlockNames
Отображение неописательных имен блоков Inport, Outport и Subsystem
Эта метрика используется для определения неописательных имен блоков Inport, Outport и Subsystem. Имена по умолчанию, добавленные целым числом, не являются описательными именами блоков. Результаты предоставляют неописательные имена блоков на уровнях модели и подсистемы.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.DescriptiveBlockNames.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать результаты для этой метрики с помощью Model Advisor, выполните проверку метрики имени блока без описания в меню «По задаче» > «Метрики модели» > «Метрики читаемости». При проверке Model Advisor в модели или подсистеме отображается число неописательных имен блоков Inport, Outport и Subsystem. Проверка не отображает результат для каждого типа блока отдельно. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
Value: Количество неописательных имен блоков Inport, Outport и Subsystem.
AggregatedValue: Количество неописательных имен блоков Inport, Outport и Subsystem для компонента и его подкомпонентов.
Measures: 1-D вектор, содержащий:
Общее количество блоков ввода
Количество блоков ввода с неописательными именами
Общее количество блоков исходящего порта
Количество блоков исходящего порта с неописательными именами
Общее количество блоков подсистемы
Количество блоков подсистемы с неописательными именами
AggregatedMeasuresВектор 1-D, содержащий сумму:
Общее количество блоков ввода
Количество блоков ввода с неописательными именами
Общее количество блоков исходящего порта
Количество блоков исходящего порта с неописательными именами
Общее количество блоков подсистемы
Количество блоков подсистемы с неописательными именами
Метрика:
Не выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование
Метрический тип: читаемость
Метрический идентификатор: mathworks.metrics.LayerSeparation
Код проверки помощника по модели: mathworks.metricchecks.LayerSeparation
Отображение данных и разделение слоев структуры
Выполните эту метрику для вычисления разделения слоев данных и структуры. Результаты обеспечивают разделение на уровне модели и подсистемы.
Эта метрика доступна в Simulink Check. Для сбора данных по этой метрике используйте getMetrics с идентификатором метрики, mathworks.metrics.LayerSeparation.
Инструкции о блоках на уровнях модели см. в руководстве MAB db_0143: Usable block types in model hierarchy.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Чтобы собрать результаты для этой метрики с помощью Model Advisor, выполните проверку, метрику разделения слоев данных и структуры в меню «По задаче» > «Метрики модели» > «Метрики читаемости». При проверке помощника по модели отображается разделение для модели или подсистемы. Проверка не анализирует ссылочные модели и не возвращает агрегированные результаты.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество основных блоков на несущем уровне.
AggregatedValueКоличество основных блоков на структурном уровне для компонента и его подкомпонентов.
Measures: Неприменимо.
Метрика:
Не выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Дополнительные сведения о метриках модели см. в разделе Сбор метрик модели и тестирование
Метрический тип: соответствие
Метрический идентификатор: mathworks.metrics.MatlabCodeAnalyzerWarnings
Эта метрика используется для вычисления количества предупреждений анализатора кода MATLAB из кода MATLAB в модели. Эта метрика доступна в Simulink Check.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество предупреждений анализатора кода MATLAB
AggregatedValueКоличество предупреждений анализатора кода MATLAB, агрегированных для компонента и подкомпонентов.
Measures: Неприменимо.
Метрика:
Анализ кода MATLAB в функциональных блоках MATLAB
Анализ функций MATLAB в диаграммах Stateflow
Выполняется для библиотечных моделей
Анализ содержимого в маскированных подсистемах
Если указано, анализирует содержимое связанных с библиотекой блоков и ссылочных моделей.
Не анализирует внешние файлы кода MATLAB
Метрический тип: соответствие
Метрический идентификатор: mathworks.metrics.ModelAdvisorCheckCompliance.hisl_do178
Используйте эту метрику для вычисления доли проверок Model Advisor, которые проходят для подгрупп систем высокой целостности. Эта метрика доступна в Simulink Check.
slmetric.metric.AggregationMode параметр свойства имеет значение Percentile.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueДоля от общего числа проверок, пройденных в подгруппах систем высокой целостности.
AggregatedValue: Доля общего количества проверок, переданных в подгруппах систем высокой целостности, агрегированных для компонента и всех его подкомпонентов.
MeasuresВектор, содержащий число проверок, переданных в подгруппах, и число проверок в подгруппах.
AggregatedMeasuresВектор, содержащий число проверок, переданных в подгруппах, и число проверок в подгруппе для компонента и всех его подкомпонентов.
Для этой метрики экземпляры slmetric.metric.ResultDetail
Value свойство обеспечивает следующие результаты:
Значение 0 указывает на то, что проверка не была выполнена.
Значение 1 указывает, что проверка пройдена.
Значение 2 указывает на предупреждение о проверке.
Значение 3 указывает на сбой.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Анализирует содержимое в объектах Stateflow.
Метрический тип: соответствие
Метрический идентификатор: mathworks.metrics.ModelAdvisorCheckCompliance.maab
Эта метрика используется для вычисления доли проверок Model Advisor, которые проходят для группы Стандарты моделирования для MAB. Эта метрика доступна в Simulink Check.
slmetric.metric.AggregationMode параметр свойства имеет значение Percentile.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueДоля от общего числа проверок, переданных в MAB.
AggregatedValueДоля общего количества проверок, переданных в MAB, агрегированных для компонента и всех его подкомпонентов.
MeasuresВектор, содержащий: количество проверок, переданных в группе, и количество проверок в группе.
AggregatedMeasuresВектор, содержащий: количество проверок, переданных в группе, и количество проверок в группе для компонента и всех его подкомпонентов.
Для этой метрики экземпляры slmetric.metric.ResultDetail
Value свойство обеспечивает следующие результаты:
Значение 0 указывает на то, что проверка не была выполнена.
Значение 1 указывает, что проверка пройдена.
Значение 2 указывает на предупреждение о проверке.
Значение 3 указывает на сбой.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Анализирует содержимое в объектах Stateflow.
Метрический тип: соответствие
Метрический идентификатор: mathworks.metrics.ModelAdvisorCheckIssues.hisl_do178
Используйте эту метрику для вычисления количества проблем, о которых сообщают подгруппы проверки систем высокой целостности в Model Advisor. Эта метрика подсчитывает каждую проверку Model Advisor, которая выдает предупреждение или сбой. Если проверка содержит ссылки на блоки, эта метрика подсчитывает один выпуск для каждого связанного блока. Проверки со ссылками на модель подсвечиваются в редакторе Simulink. Если проверка не содержит ссылок на блоки, эта метрика подсчитывает одну проблему. Эта метрика доступна в Simulink Check.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество проблем, о которых сообщалось в ходе проверок систем с высокой степенью целостности
AggregatedValueКоличество проблем, о которых сообщили в ходе проверок систем высокой целостности, агрегированных для компонента и всех его подкомпонентов.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Анализирует содержимое в объектах Stateflow.
Метрический тип: соответствие
Метрический идентификатор: mathworks.metrics.ModelAdvisorCheckIssues.maab
Эта метрика используется для вычисления количества проблем, о которых сообщила группа проверок Model Advisor для стандартов моделирования для MAB. Эта метрика подсчитывает каждую проверку Model Advisor, которая выдает предупреждение или сбой. Если проверка содержит ссылки на блоки, эта метрика подсчитывает один выпуск для каждого связанного блока. Проверки со ссылками на модель подсвечиваются в редакторе Simulink. Если проверка не содержит ссылок на блоки, эта метрика подсчитывает одну проблему. Эта метрика доступна в Simulink Check.
slmetric.metric.AggregationMode параметр свойства имеет значение Sum.
Для этой метрики экземпляры slmetric.metric.Result обеспечивают следующие результаты:
ValueКоличество проблем, о которых сообщил консультант по модели для проверок MAB.
AggregatedValueКоличество проблем, о которых сообщил консультант по модели для проверок MAB, агрегированных для компонента и его подкомпонентов.
Measures: Неприменимо.
Метрика:
Выполняется для библиотечных моделей.
Анализирует содержимое в маскированных подсистемах.
Если указано, анализирует содержимое связанных с библиотекой блоков или ссылочных моделей.
Анализирует содержимое в объектах Stateflow.
Добавляет проблемы проверки в наборе конфигурации или проблемы с объектами данных к числу проблем на корневом уровне модели.