Моделирование стиля

hisl_0032: имена Объекта модели

ID: Заголовокhisl_0032: имена Объекта модели
Описание

Для следующих имен объекта модели:

  • Сигналы

  • Параметры

  • Блоки

  • Названные объекты Stateflow® (состояния, Поля, Simulink® Functions, Графические функции, Таблицы истинности)

Использование:

  • Эти символы: a-z, A-Z, 0-9 и подчеркивание (_).

  • Строки, которые являются меньше чем 32 символами.

Не делайте:

  • Запустите имя с номера.

  • Используйте символы нижнего подчеркивания вначале или конец строки.

  • Используйте больше чем одно последовательное подчеркивание.

  • Используйте зарезервированные идентификаторы.

Примечания

Зарезервированные имена:

  • Ключевые слова MATLAB®

  • Зарезервированные слова для C, C++ и генерации кода. Для полного списка смотрите Зарезервированные слова (Simulink Coder).

  • int8, uint8

  • int16, uint16

  • int32, uint32

  • inf, Inf

  • NaN, nan

  • eps

  • intmin, intmax

  • realmin, realmax

  • pi

  • infinity

  • Nil

Объяснение
  • Удобочитаемость

  • Ограничения компилятора

  • Трассируемость модели к сгенерированному коду

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Naming> Check model object names

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Naming> Check model object names

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Naming> Check model object names

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Naming> Check model object names

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Naming> Check model object names

Для получения дополнительной информации проверки смотрите имена объекта модели Проверки.

Смотрите также
Ссылки

MISRA C:2012, правило 21.2

В последний раз измененныйR2018b
Пример

Рекомендуемый

  • Имя блока: My_Controller

  • Имя сигнала: a_b

Не рекомендуемый

  • Имя блока: My Controller

  • Имя сигнала: 12a__b

hisl_0061: Уникальные идентификаторы для ясности

ID: Заголовокhisl_0061: Уникальные идентификаторы для ясности
ОписаниеПри разработке модели:
AИспользуйте уникальные идентификаторы для Сигналов Simulink.
BЗадайте уникальные идентификаторы через несколько осциллографов в рамках графика.
ПримечанияГенератор кода разрешает конфликты между идентификаторами так, чтобы символы в сгенерированном коде были уникальны. Процесс называется искажением имени.
ОбъяснениеA, B Улучшите удобочитаемость графической модели и сопоставляющий между идентификаторами в типовом кодексе и сгенерированном коде.
Проверка Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check Stateflow charts for uniquely defined data objects

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check Stateflow charts for uniquely defined data objects

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check Stateflow charts for uniquely defined data objects

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check Stateflow charts for uniquely defined data objects

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check Stateflow charts for uniquely defined data objects

Для получения дополнительной информации проверки смотрите диаграммы Stateflow Проверки для исключительно заданных объектов данных.

Ссылки
  • DO-331, Раздел MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'

  • IEC 61508-3, Таблица A.3 (2) ‘Язык программирования со строгим контролем типов’
    IEC 61508-3, Таблица A.3 (3) - Языковое подмножество
    IEC 61508-3, Таблица A.4 (5) - Проект и стандарты кодирования

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) - 'Использование языковых подмножеств'
    ISO 26262-6, Таблица 1 (1c) 'Осуществление строгого контроля типов'
    ISO 26262-6, Таблица 1 (1d) - 'Использование защитных методов реализации'
    ISO 26262-6, Таблица 1 (1e) - 'Использование хорошо доверяемых принципов разработки'
    ISO 26262-6, Таблица 1 (1f) - 'Использование однозначного графического представления'
    ISO 26262-6, Таблица 1 (1g) - 'Использование руководств по стилю'
    ISO 26262-6, Таблица 1 (1 ч) - 'Использование соглашений о присвоении имен'

  • EN 50128, таблица A.3 (1) - безопасное программирование
    EN 50128, таблица A.4 (8) 'язык программирования со строгим контролем типов'
    EN 50128, таблица A.4 (11) - 'языковое подмножество'
    EN 50128, таблица A.12 (1) 'кодирование стандарта'
    EN 50128, таблица A.12 (2) 'руководство стиля кодирования'

Смотрите также Внешний вид кода (Simulink Coder)
В последний раз измененныйR2017b
Примеры

Не рекомендуемый

В следующем примере два состояния Scope_1 и Scope_2 используют локальный идентификатор IntCounter.

Идентификатор IntCounter задан для двух состояний, Scope_1 и Scope_2.

Рекомендуемый

Чтобы разъяснить модель, создайте уникальные идентификаторы. В следующем примере утвердите, что Scope_1 использует локальный идентификатор IntCounter_Scope_1. Scope_2 состояния использует локальный идентификатор IntCounter_Scope_2.

Идентификатор IntCounter_Scope_1 задан для Scope_1 состояния. Идентификатор IntCounter_Scope_2 задан для Scope_2.

hisl_0062: Глобальные переменные в графических функциях

ID: Заголовокhisl_0062: Глобальные переменные в графических функциях
Описание

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

ОбъяснениеУлучшите удобочитаемость модели путем удаления неоднозначности в значениях глобальных переменных.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check global variables in graphical functions

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Simulink> Check global variables in graphical functions

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check global variables in graphical functions

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check global variables in graphical functions

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check global variables in graphical functions

Для получения дополнительной информации проверки смотрите глобальные переменные Проверки в графических функциях.

Ссылки
  • IEC 61508–3, Таблица A.3 (3) 'Языковое подмножество'
    IEC 61508–3, Таблица A.4 (4) 'Модульный подход'
    IEC 61508–3, 4 (5) 'Проект и стандарты кодирования'

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

  • ISO 26262-6, Таблица 1 (1b) 'Использование языковых подмножеств'
    ISO 26262-6, Таблица 1 (1f) 'Использование однозначного графического представления'
    ISO 26262-6, Таблица 1 (1 ч) 'Использование соглашений о присвоении имен'

  • EN 50128, таблица A.4 (11) 'языковое подмножество'
    EN 50128, таблица A.12 (1) 'кодирование стандарта'
    EN 50128, таблица A.12 (2) 'руководство стиля кодирования'

  • DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен'

  • MISRA C:2012, правило 13.2
    MISRA C:2012, правило 13.5

В последний раз измененныйR2018b
Примеры

Считайте графическую функцию graphicalFunction, который изменяет глобальные данные G.

Рекомендуемый

Не рекомендуемый

hisl_0063: Длина пользовательских имен объектов, чтобы улучшить соответствие MISRA C:2012

ID: Заголовокhisl_0063: Длина пользовательских имен объектов, чтобы улучшить соответствие MISRA C:2012
Описание

Чтобы улучшить соответствие MISRA C:2012 сгенерированного кода, ограничьте длину определяемых пользователем имен к Maximum identifier length (MaxIdLength).

Примечание

Значением по умолчанию Максимальной длины идентификатора является 31.

AПри работе с блоками Subsystem с параметрами блоков набора Function name options к User specified ограничьте длину имен функций к параметру Maximum identifier length (MaxIdLength) символы или меньше.
B

Ограничьте длину имен объекта данных к Maximum identifier length (MaxIdLength) символы или меньше для:

  • Simulink.AliasType

  • Simulink.NumericType

  • Simulink.Variant

  • Simulink.Bus

  • Simulink.BusElement

  • Simulink.IntEnumType

C

Ограничьте длину и названий параметра сигнала к Maximum identifier length (MaxIdLength) символы или меньше при использовании следующих классов памяти:

  • Экспортируемая глобальная переменная

  • Импортированный экстерн

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

  • Пользовательский класс памяти

Примечание

Если задано, это включает длину имени Alias.

Объяснение

Определяемые пользователем имена и названий параметра сигнала к Maximum identifier length (MaxIdLength) символы или меньше при использовании следующих классов памяти:

  • Экспортируемая глобальная переменная

  • Импортированный экстерн

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

  • Пользовательский класс памяти

Примечание

Если задано, это включает длину имени Alias.

Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Simulink> Check for length of user-defined object names

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Simulink> Check for length of user-defined object names

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Simulink> Check for length of user-defined object names

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Simulink> Check for length of user-defined object names

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Simulink> Check for length of user-defined object names

Для получения дополнительной информации проверки смотрите Проверку на длину пользовательских имен объектов.

Ссылки
  • MISRA C:2012, правило 5.1

  • MISRA C:2012, правило 5.2

  • MISRA C:2012, правило 5.3

  • MISRA C:2012, правило 5.4

  • MISRA C:2012, правило 5.5

Предпосылкиhisl_0060: Параметры конфигурации, которые улучшают соответствие MISRA C:2012
В последний раз измененныйR2018b