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

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

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

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

  • Сигналы

  • Параметры

  • Блоки

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

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

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

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

Не делайте:

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

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

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

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

Примечания

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

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

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

  • int8 uint8

  • int16uint16

  • int32uint32

  • infInf

  • NaNNaN

  • eps

  • intminintmax

  • realminrealmax

  • 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

Для получения дополнительной информации проверки смотрите, что объект модели Проверки называет (Simulink Check).

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

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

  • ISO 26262-6, Таблица 1 (1 ч) 'Использование соглашений о присвоении имен'

В последний раз измененный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 Проверки для исключительно заданных объектов данных (Simulink Check).

Ссылки
  • 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

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

Ссылки
  • 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.
B

Ограничьте длину имен объекта данных, чтобы быть равными или меньше, чем значение, заданное в Maximum identifier length:

  • Simulink.AliasType

  • Simulink.NumericType

  • Simulink.Variant

  • Simulink.Bus

  • Simulink.BusElement

  • Simulink.IntEnumType

C

При использовании этих классов памяти ограничьте длину и названий параметра сигнала, чтобы быть равными или меньше, чем значение, заданное в Maximum identifier length:

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

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

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

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

Примечание

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

ОбъяснениеДлина в сгенерированном коде может привести к нарушению MISRAC:2012.
Проверки 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

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

Ссылки
  • 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