Метрики модели анализируют вашу модель и помогают вам оценить свою модель относительно размера, архитектуры, удобочитаемости и податливости к стандартам. Simulink® Check™ обеспечивает метрики для этих метрических типов:
Используя Метрическую Инструментальную панель, можно собрать и просмотреть метрики модели, чтобы получить оценку качественного состояния проекта. Для получения дополнительной информации смотрите, Собирают и Исследуют Метрические Данные при помощи Метрической Инструментальной панели.
Можно использовать метрический API модели, чтобы запустить метрики модели программно и экспортировать результаты в файл. Для получения дополнительной информации смотрите, Собирают Метрики Модели Программно.
Для ваших инструкций компании и стандартов, можно также использовать метрический API модели, чтобы создать собственные метрики модели, вычислить те метрики и экспортировать метрические данные. Для получения дополнительной информации смотрите, Создают Пользовательскую Метрику Модели для Невиртуального количества Блока.
Чтобы собрать метрические данные по модели или подсистеме, запустите эти метрики.
Метрика | Описание |
---|---|
Метрика блока Simulink |
Вычисляет количество блоков в модели. |
Метрика подсистемы |
Вычисляет количество подсистем в модели. |
Метрика ссылки библиотеки |
Вычисляет количество соединенных библиотекой блоков в модели. |
Эффективные линии метрики кода MATLAB |
Вычисляет количество эффективных линий кода MATLAB®. |
Диаграмма Stateflow возражает метрике |
Вычисляет количество объектов Stateflow®. |
Строки кода для Stateflow блокируют метрику |
Вычисляет количество строк кода для следующих блоков Stateflow в модели:
|
Метрика глубины подсистемы |
Вычисляет глубину подсистемы модели. |
Метрика ввода-вывода |
Вычисляет количество импорта и выходных портов в вашей модели. |
Явная метрика ввода-вывода |
Вычисляет количество импорта и выходных портов в вашей модели. |
Метрика файла | Вычисляет количество файлов библиотеки и модели. |
Метрика функции MATLAB | Вычисляет количество блоков Matlab Function в вашей модели. |
Количество файла модели | Вычисляет количество файлов модели. |
Метрика параметра | Вычисляет количество объектов данных, которые параметрируют поведение модели. |
Метрика диаграммы Stateflow | Вычисляет количество диаграмм Stateflow в вашей модели. |
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Чтобы узнать больше об архитектуре для модели или подсистемы, запустите эти метрики.
Метрика | Описание |
---|---|
Цикломатическая метрика сложности |
Вычисляет цикломатическую сложность модели. |
Метрика содержимого клона | Вычисляет часть общего количества субкомпонентов, которые являются клонами. |
Метрика обнаружения клонов | Вычисляет количество клонов в компонентах через иерархию модели. |
Метрика содержимого библиотеки | Вычисляет часть общего количества компонентов, которые являются соединенными библиотечными блоками. |
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Чтобы определить, совместимы ли ваша модель или подсистема со стандартами и инструкциями, запустите один или несколько из этих метрик.
Метрика | Описание |
---|---|
КОД MATLAB предупреждения анализатора |
Определяет предупреждения для блоков кода MATLAB в вашей модели. |
Диагностическая метрика предупреждений |
Вычисляет количество диагностических предупреждений, о которых сообщают. |
Model Advisor проверяет соответствие для систем Высокой Целостности |
Возвращает часть проверок передачи модели от Model Advisor DO-178C/DO-331 Стандарты. |
Model Advisor проверяет соответствие для моделирования стандартов для MAB | Возвращает часть проверок передачи модели от Model Advisor Стандарт MAB. |
Проблемы проверки Model Advisor для систем Высокой Целостности |
Сообщает количество проблем от Model Advisor DO-178C/DO-331 о Стандартах. |
Проблемы проверки Model Advisor для стандартов MAB |
Сообщает количество проблем от Model Advisor о Стандарте MAAB. |
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Запустите эти метрики, чтобы определить удобочитаемость для модели или подсистемы.
Метрика | Описание |
---|---|
Неописательная метрика имени блока |
Определяет неописательный Inport, Выходной порт и имена блока Subsystem. |
Данные и разделительная метрика слоя структуры |
Вычисляет данные и разделение слоя структуры. |
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.SimulinkBlockCount
ID проверки Model Advisor: mathworks.metricchecks.SimulinkBlockCount
Вычислите количество блоков Simulink в модели
Используйте эту метрику, чтобы вычислить количество блоков в модели. Результаты обеспечивают количество блоков на уровне подсистемы и модели. Эта метрика считает Simulink — базирующиеся блоки, но не включает базовые блоки, используемые, чтобы реализовать блок. Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Simulink block metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.SimulinkBlockCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество блоков.
AggregatedValue
: Количество блоков для компонента и его субкомпонентов.
Measures
Не применяется.
Результаты метрического анализа Simulink block metric могут отличаться от вызова sldiagnostics
. Результат метрики блока Simulink:
Включает модели, на которые ссылаются.
Не включает базовых блоков, используемых, чтобы реализовать блок MathWorks, который вы использовали от Браузера Библиотеки Simulink.
Не включает ссылки в библиотеки MathWorks, что означает, что библиотечные блоки MathWorks, которые являются подсистемами маскированными, считаются как один блок. Внутреннее содержимое тех блоков не считается.
Не включает скрытое содержимое под блоками MATLAB Function или диаграммами Stateflow.
Не включает блоки требований.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.SubSystemCount
ID проверки Model Advisor: mathworks.metricchecks.SubSystemCount
Отобразите количество подсистем в модели
Используйте эту метрику, чтобы вычислить количество подсистем в модели. Результаты обеспечивают количество подсистем на уровне подсистемы и модели.
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Subsystem metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.SubSystemCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество подсистем.
AggregatedValue
: Количество подсистем для компонента и его субкомпонента.
Measures
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Не считает подсистемы соединенными с библиотеками MathWorks®.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.LibraryLinkCount
ID проверки Model Advisor: mathworks.metricchecks.LibraryLinkCount
Отобразите количество ссылок библиотеки в модели
Используйте эту метрику, чтобы вычислить количество соединенных библиотекой блоков в модели. Результаты обеспечивают количество соединенных библиотекой блоков на уровне подсистемы и модели.
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Library link metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.LibraryLinkCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество библиотеки соединило блоки.
AggregatedValue
: Количество библиотеки соединило блоки для компонента и его субкомпонентов.
Measures
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Не считает подсистемы соединенными с библиотеками MathWorks.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.MatlabLOCCount
ID проверки Model Advisor: mathworks.metricchecks.MatlabLOCCount
Отобразите количество эффективных линий кода MATLAB
Запустите эту метрику, чтобы вычислить количество эффективных линий кода MATLAB. Эффективные линии кода MATLAB являются линиями исполняемого кода. Пустые линии, линии, которые содержат только комментарии и линии, которые содержат только оператор end, не рассматриваются эффективными строками кода. Результаты обеспечивают количество эффективных линий кода MATLAB для каждого блока MATLAB function и для функций MATLAB в диаграммах Stateflow.
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Effective lines of MATLAB code metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.MatlabLOCCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество эффективных линий кода MATLAB.
AggregatedValue
: Количество эффективных линий кода MATLAB для компонента и его субкомпонентов.
Measures
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Не анализирует содержимое кода MATLAB во внешних файлах.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.StateflowChartObjectCount
ID проверки Model Advisor: mathworks.metricchecks.StateflowChartObjectCount
Отобразите количество объектов Stateflow в каждом графике
Запустите эту метрику, чтобы вычислить количество объектов Stateflow. Для каждого графика в модели результаты обеспечивают количество следующих объектов Stateflow:
Атомарные подграфики
Поля
Объекты данных
События
Графические функции
Соединения
Соединенные графики
Функции MATLAB
Примечания
Функции Simulink
Состояния
Переходы
Таблицы истинности
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Stateflow chart objects metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.StateflowChartObjectCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество объектов Stateflow.
AggregatedValue
: Количество Stateflow возражает для компонента и его субкомпонентов.
Measures
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.StateflowLOCCount
ID проверки Model Advisor: mathworks.metricchecks.StateflowLOCCount
Отобразите количество эффективных строк кода для блоков Stateflow
Используйте эту метрику, чтобы вычислить количество эффективных строк кода в Stateflow. Эффективные линии кода MATLAB являются линиями исполняемого кода. Пустые линии, линии, которые содержат только комментарии и линии, которые содержат только оператор end, не рассматриваются эффективными строками кода. Эта метрика вычисляет строки кода для следующих блоков Stateflow в модели:
Стройте диаграмму, считая код по Переходам и в состояниях
Блок State Transition Table
Блок Truth Table
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Lines of code for Stateflow blocks metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.StateflowLOCCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество линий блочного кода Stateflow.
AggregatedValue
: Количество линий блочного кода Stateflow для компонента и его субкомпонентов.
Measures
: Вектор с двумя записями: количество эффективных строк кода на языке действия MATLAB и количество эффективных строк кода на языке действия C.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.SubSystemDepth
ID проверки Model Advisor: mathworks.metricchecks.SubSystemDepth
Вычисляет максимальную глубину всех иерархических дочерних элементов подсистемы или модели
Используйте эту метрику, чтобы считать максимальную глубину всех иерархических дочерних элементов для данной подсистемы или модели, начинающей с данного компонента или корня анализа. Глубина является относительной глубиной самой глубокой ветви. Анализ обхода глубины останавливается, когда он достигает модели, на которую ссылаются, или библиотеки. Глубина и уровень перезапущены с 0 для каждого из этих компонентов.
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Subsystem depth metric в By Task > Model Metrics > Count Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.SubSystemDepth
.
slmetric.metric.AggregationMode
установкой свойства является None
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: глубина подсистемы для каждого компонента в иерархии.
AggregatedValue
Не применяется.
Measure
: уровень компонента в иерархии.
AggregatedMeasure
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.IOCount
Отобразите количество вводов и выводов в модели
Используйте эту метрику, чтобы вычислить количество вводов и выводов в модели, которые включают:
Входные параметры: блоки Inport, порты Trigger, порты Enable, строят диаграмму входных данных и событий.
Выходные параметры : блоки Outport, выходные данные графика и события.
Неявные входные параметры: блок From, где соответствующий блок Goto находится вне компонента.
Неявные выходные параметры: блок Goto, где соответствующий блок From находится вне компонента.
slmetric.metric.AggregationMode
установкой свойства является Max
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: общий интерфейсный размер или сумма элементов Measures
.
AggregatedValue
: Количество вводов и выводов для компонента и его субкомпонентов.
Measures
: Массив, состоящий из количества входных параметров, количества выходных параметров, количества неявных входных параметров и количества неявных выходных параметров, которые локальны для компонента.
AggregatedMeasures
: Максимальное количество входных параметров, выходных параметров, неявных входных параметров и неявных выходных параметров для компонента и субкомпонентов.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.DiagnosticWarningsCount
Вычислите количество диагностических предупреждений, о которых сообщают во время обновления модели для симуляции.
Используйте эту метрику, чтобы вычислить количество предупреждений диагностики Simulink, о которых сообщают во время обновления модели для симуляции. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.DiagnosticWarningsCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: О количестве диагностических предупреждений сообщают.
AggregatedValue
: О количестве диагностических предупреждений сообщают для компонента и его субкомпонентов.
Measure
Не применяется.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.ExplicitIOCount
Отобразите количество вводов и выводов в модели, исключая блоки Goto и From.
Используйте эту метрику, чтобы вычислить количество вводов и выводов в модели, которые включают:
Входные параметры: блоки Inport, порты Trigger, порты Enable, строят диаграмму входных данных и событий.
Выходные параметры : блоки Outport, выходные данные графика и события.
Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.ExplicitIOCount
.
slmetric.metric.AggregationMode
установкой свойства является Max
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Общий интерфейсный размер или сумма элементов Measures
.
AggregatedValue
: Количество вводов и выводов для компонента и его субкомпонентов.
Measures
: Массив, состоящий из количества входных параметров и количества выходных параметров, которые локальны для компонента.
AggregatedMeasures
: Максимальное количество вводов и выводов для компонента и субкомпонентов.
Метрика:
Исключает блоки Goto и From.
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.FileCount
Вычисляет количество модели и файлов библиотеки, используемых определенным компонентом и его субкомпонентами.
Используйте эту метрику, чтобы считать количество модели и файлов библиотеки используемым определенным компонентом и его субкомпонентами. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.FileCount
.
slmetric.metric.AggregationMode
установкой свойства является None
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество модели и файлов библиотеки.
AggregatedValue
Не применяется.
Measures
Не применяется.
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.MatlabFunctionCount
Вычисляет количество блоков Matlab Function в компоненте.
Используйте эту метрику, чтобы считать количество блоков Matlab Function в компоненте. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.MatlabFunctionCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество блоков Matlab Function.
AggregatedValue
: Количество Matlab Function блокируется для компонента и его субкомпонентов.
Measures
Не применяется.
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.ModelFileCount
Вычислите количество файлов модели.
Используйте эту метрику, чтобы считать количество файлов модели. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.ModelFileCount
.
slmetric.metric.AggregationMode
установкой свойства является None
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество ссылки файлов компонентом и его субкомпонентами.
AggregatedValue
Не применяется.
Measures
Не применяется.
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.ParameterCount
Вычислите количество параметров.
Используйте эту метрику, чтобы вычислить сумму управляемых пользователем данных о параметризации в системе Simulink. Параметр является переменной, используемой блоком Simulink или объектом основного типа (single
'double'
uint8
uint16
uint32
int8
int16
int32
, boolean
логический
Struct ()
'char'
ячейка
), Simulink.Parameter
, Simulink.Variant
, или enum
значение. Параметр может храниться или в базовом рабочем пространстве, рабочем пространстве модели или в словаре данных.
Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.ParameterCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество параметров используется в компоненте.
AggregatedValue
: Количество параметров для компонента и его субкомпонентов.
Measures
Не применяется.
Эта метрика:
Использует Simulink.findVars
функционируйте и наследовал ограничения этой функции.
Считает экземпляры параметра в а не уникальные параметры компонента.
Не включает параметры в рабочие области маскированные.
Не включает тип данных и сигнализирует об объектах.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: Размер
Метрический ID: mathworks.metrics.StateflowChartCount
Вычислите количество диаграмм Stateflow на любом уровне компонента.
Используйте эту метрику, чтобы считать количество диаграмм Stateflow на любом уровне компонента. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.StateflowChartCount
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество диаграмм Stateflow на уровне модели.
AggregatedValue
: Количество графиков для компонента и его субкомпонентов.
Measures
Не применяется.
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: архитектура
Метрический ID: mathworks.metrics.CyclomaticComplexity
ID проверки Model Advisor: mathworks.metricchecks.CyclomaticComplexity
Отобразите локальную переменную, и агрегировал цикломатическую сложность модели
Используйте эту метрику, чтобы вычислить цикломатическую сложность модели. Цикломатическая сложность является мерой структурной сложности модели. Мера по сложности может отличаться для сгенерированного кода, чем для модели из-за функций кода, которые этот анализ не рассматривает, такие как объединенные логические и проверки на ошибки. Чтобы вычислить цикломатическую сложность объекта (такого как блок, график или состояние), Simulink Check использует эту формулу:
N является количеством моментов принятия решения, которые представляет объект, и on является количеством результатов для n th момент принятия решения. Вычисление рассматривает векторизованную операцию или блок Multiport switch как один момент принятия решения. Инструмент добавляет 1 к номеру сложности для атомарных подсистем и диаграмм Stateflow.
Результаты обеспечивают локальную переменную и агрегировали цикломатическую сложность для:
Модель
Подсистемы
Графики
Функции MATLAB
Локальная сложность является цикломатической сложностью для объектов на их иерархическом уровне. Агрегированная цикломатическая сложность является цикломатической сложностью объекта и его потомков
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Cyclomatic complexity metric в By Task > Model Metrics > Complexity Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.CyclomaticComplexity
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Локальная цикломатическая сложность.
AggregatedValue
: Агрегированная цикломатическая сложность.
Measures
Не применяется.
Метрика:
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Не анализирует неактивные варианты.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Не анализирует модели, на которые ссылаются, в ускоренном режиме.
Цикломатическая сложность для диаграмм Stateflow (Simulink Coverage)
Задайте опции покрытия (Simulink Coverage)
Метрический тип: архитектура
ID проверки: mathworks.metrics.CloneContent
Вычисляет часть общего количества субкомпонентов, которые являются клонами.
Используйте эту метрику, чтобы вычислить часть общего количества субкомпонентов, которые являются клонами. Клоны должны иметь идентичные типы блока и связи, но у них могут быть различные значения параметров. Для получения дополнительной информации об обнаружении клонов смотрите, Включают Повторное использование Компонента при помощи Обнаружения клонов.
Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.CloneContent
.
slmetric.metric.AggregationMode
установкой свойства является None
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Часть общего количества субкомпонентов, которые являются клонами
AggregatedValue
Не применяется.
Measures
: Вектор, содержащий количество клонов, общее количество компонентов и номер группы клонов.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: архитектура
ID проверки: mathworks.metrics.CloneDetection
Вычислите количество клонов в модели.
Используйте эту метрику, чтобы считать количество клонов в модели. Клоны должны иметь идентичные типы блока и связи, но у них могут быть различные значения параметров. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.CloneDetection
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество клонов.
AggregatedValue
: Количество клонов для компонента и его субкомпонентов.
Measures
Не применяется.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: архитектура
ID проверки: mathworks.metrics.LibraryContent
Вычисляет часть общего количества компонентов, которые являются соединенными библиотечными блоками.
Используйте эту метрику, чтобы вычислить часть общего количества компонентов, которые являются соединенными библиотечными блоками. Эта метрика доступна с Simulink Check. Чтобы собрать данные для этой метрики, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.LibraryContent
.
slmetric.metric.AggregationMode
установкой свойства является None
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Часть общего количества субкомпонентов, которые являются соединенными библиотечными блоками.
AggregatedValue
Не применяется.
Measures
: Вектор, содержащий количество соединенных библиотечных блоков и общее количество компонентов
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели.
Метрический тип: удобочитаемость
ID проверки: mathworks.metrics.DescriptiveBlockNames
ID проверки Model Advisor: mathworks.metricchecks.DescriptiveBlockNames
Отобразите неописательный Inport, Выходной порт и имена блока Subsystem
Запустите эту метрику, чтобы определить неописательный Inport, Выходной порт и имена блока Subsystem. Имена по умолчанию, добавленные с целым числом, являются неописательными именами блока. Результаты обеспечивают неописательные имена блока на уровнях подсистемы и модели.
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Nondescriptive block name metric в By Task > Model Metrics > Readability Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.DescriptiveBlockNames
.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество неописательного Inport, Выходного порта и имен блока Subsystem.
AggregatedValue
: Количество неописательного Inport, Выходного порта и блока Subsystem называет для компонента и его субкомпонентов.
Measures
: 1D векторный содержащий:
Общее количество блоков Inport
Количество Inport блокируется с неописательными именами
Общее количество блоков Выходного порта
Количество Выходного порта блокируется с неописательными именами
Общее количество блоков Subsystem
Количество блоков Subsystem с неописательными именами
AggregatedMeasures
: 1D вектор, содержащий сумму:
Общее количество блоков Inport
Количество Inport блокируется с неописательными именами
Общее количество блоков Выходного порта
Количество Выходного порта блокируется с неописательными именами
Общее количество блоков Subsystem
Количество блоков Subsystem с неописательными именами
Метрика:
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели
Метрический тип: удобочитаемость
Метрический ID: mathworks.metrics.LayerSeparation
ID проверки Model Advisor: mathworks.metricchecks.LayerSeparation
Отобразите данные и разделение слоя структуры
Запустите эту метрику, чтобы вычислить данные и разделение слоя структуры. Результаты обеспечивают разделение на уровне подсистемы и модели.
Запустите эту метрику, чтобы вычислить данные и разделение слоя структуры. Результаты обеспечивают разделение на уровнях подсистемы и модели.
Эта метрика доступна с Simulink Check. Собрать данные для этой метрики:
Используя Model Advisor, осуществленный проверка, Data and structure layer separation metric в By Task > Model Metrics > Readability Metrics.
Программно, используйте getMetrics
с метрическим идентификатором, mathworks.metrics.LayerSeparation
.
Для инструкций о блоках на уровнях модели см. инструкцию db_0143 MAB: Применимые типы блока в иерархии модели.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество базисных блоков на структурном уровне.
AggregatedValue
: Количество базисных блоков на структурном уровне для компонента и его субкомпонентов.
Measures
Не применяется.
Метрика:
Не работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Для получения дополнительной информации о метриках модели смотрите, Собирают Метрики Модели
Метрический тип: податливость
Метрический ID: mathworks.metrics.MatlabCodeAnalyzerWarnings
Используйте эту метрику, чтобы вычислить количество кода MATLAB предупреждения анализатора из кода MATLAB в модели. Эта метрика доступна с Simulink Check.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество кода MATLAB предупреждения анализатора
AggregatedValue
: Количество кода MATLAB предупреждения анализатора, агрегированные для компонента и субкомпонентов.
Measures
Не применяется.
Метрика:
Анализирует код MATLAB в блоках MATLAB function
Анализирует функции MATLAB в диаграммах Stateflow
Работает на моделях библиотеки
Анализирует содержимое в подсистемах маскированных
Если задано, анализирует содержимое соединенных библиотекой блоков и моделей, на которые ссылаются,
Не анализирует внешние файлы кода MATLAB
Метрический тип: податливость
Метрический ID: mathworks.metrics.ModelAdvisorCheckCompliance.hisl_do178
Используйте эту метрику, чтобы вычислить, часть Model Advisor проверяет что передача на подгруппы High-Integrity Systems. Эта метрика доступна с Simulink Check.
slmetric.metric.AggregationMode
установкой свойства является Percentile
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Часть общего количества проверок передается в подгруппах High-Integrity Systems.
AggregatedValue
: Часть общего количества проверок передала в подгруппах High-Integrity Systems, агрегированных для компонента и всех его субкомпонентов.
Measures
: Векторный содержащий: количество проверок передало в подгруппах и количестве регистраций подгрупп.
AggregatedMeasures
: Векторный содержащий: количество проверок передало в подгруппах и количестве регистраций подгруппы для компонента и всех его субкомпонентов.
Для этой метрики, экземпляров slmetric.metric.ResultDetail
Value
свойство обеспечивает эти результаты:
Значение 0 указывает, что проверка не запускалась.
Значение 1 указывает, что проверка передала.
Значение 2 указывает на предупреждение проверки.
Значение 3 указывает на отказ.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Анализирует содержимое в объектах Stateflow.
Метрический тип: податливость
Метрический ID: mathworks.metrics.ModelAdvisorCheckCompliance.maab
Используйте эту метрику, чтобы вычислить, часть Model Advisor проверяет что передача на группу Modeling Standards for 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.
Метрический тип: податливость
Метрический ID: mathworks.metrics.ModelAdvisorCheckIssues.hisl_do178
Используйте эту метрику, чтобы вычислить количество проблем, о которых сообщают подгруппы проверок Model Advisor на High-Integrity Systems. Эта метрика считает каждую проверку Model Advisor, которая производит предупреждение или отказ. Если проверка содержит ссылки на блоки, эта метрика считает одну проблему для каждого соединенного блока. Сверяется со ссылками на модель, подсвечены в Редакторе Simulink. Если проверка не содержит ссылки на блоки, эта метрика считает одну проблему. Эта метрика доступна с Simulink Check.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: О количестве проблем сообщают проверки High-Integrity Systems
AggregatedValue
: Количество проблем, о которых сообщают проверки High-Integrity Systems, агрегированные для компонента и всех его субкомпонентов.
Measures
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Анализирует содержимое в объектах Stateflow.
Метрический тип: податливость
Метрический ID: mathworks.metrics.ModelAdvisorCheckIssues.maab
Используйте эту метрику, чтобы вычислить количество проблем, о которых сообщает группа проверок Model Advisor на Modeling Standards for MAB. Эта метрика считает каждую проверку Model Advisor, которая производит предупреждение или отказ. Если проверка содержит ссылки на блоки, эта метрика считает одну проблему для каждого соединенного блока. Сверяется со ссылками на модель, подсвечены в Редакторе Simulink. Если проверка не содержит ссылки на блоки, эта метрика считает одну проблему. Эта метрика доступна с Simulink Check.
slmetric.metric.AggregationMode
установкой свойства является Sum
.
Для этой метрики, экземпляров slmetric.metric.Result
обеспечьте следующие результаты:
Value
: Количество проблем, о которых сообщает Model Advisor для проверок MAB.
AggregatedValue
: Количество проблем, о которых сообщает Model Advisor для проверок MAB, агрегированных для компонента и его субкомпонентов.
Measures
Не применяется.
Метрика:
Работает на моделях библиотеки.
Анализирует содержимое в подсистемах маскированных.
Если задано, анализирует содержимое соединенных библиотекой блоков или моделей, на которые ссылаются.
Анализирует содержимое в объектах Stateflow.
Добавляют проблемы проверки о конфигурации модели или проблемы с объектами данных к количеству проблемы на корневом уровне модели.