Стройте диаграмму архитектуры

hisf_0003: Использование битовых операций

ID: Заголовокhisf_0003: Использование битовых операций
Описание

При использовании битовых операций в блоках Stateflow®,

AИзбегайте типов данных целого числа со знаком как операндов к битовым операциям.
Примечания

Обычно, битовые операции не значимы на целых числах со знаком. Нежелательное поведение может произойти. Например, операция сдвига может переместить знаковый бит в номер или числовой бит в знаковый бит.

ОбъяснениеAПродвиньте однозначный стиль моделирования.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check usage of bitwise operations in Stateflow charts

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check usage of bitwise operations in Stateflow charts

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check usage of bitwise operations in Stateflow charts

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check usage of bitwise operations in Stateflow charts

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check usage of bitwise operations in Stateflow charts

Для получения дополнительной информации проверки смотрите использование Проверки битовых операций в диаграммах Stateflow (Simulink Check).
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'
    IEC 61508-3, Таблица A.3 (2) 'Язык программирования со строгим контролем типов’

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

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

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

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

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

Смотрите такжеhisl_0019: Использование битовых операций
В последний раз измененныйR2016a

hisf_0004: Использование рекурсивного поведения

ID: Заголовокhisf_0004: Использование рекурсивного поведения
Описание

Чтобы поддержать поведение вызова ограниченной функции, избегайте использования шаблонов разработки, которые включают неограниченное рекурсивное поведение. Рекурсивное поведение связано, если вы делаете следующее:

AИспользуйте явное условие завершения, которое локально для рекурсивного вызова.
BУбедитесь, что условие завершения достигнуто.
Примечания

Это правило только применяется, если графиком является классическая диаграмма Stateflow. Если Мучнистый и семантика Мура сопровождаются, рекурсивное поведение предотвращено из-за ограничений в семантике графика. Чтобы обнаружить ошибку во время симуляции графика, откройте свою диаграмму Stateflow и, во вкладке Debug, выберите Diagnostics> Detect Cyclical Behavior.

ОбъяснениеA, B Способствуйте поведению вызова ограниченной функции.
Ссылки
  • IEC 61508-3, Таблица B.1 (6) 'Ограничила использование рекурсии'

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

  • ISO 26262-6, Таблица 8 (1j) 'Никакие рекурсии'

  • EN 50128, таблица A.12 (6) 'Ограничила использование рекурсии'

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

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

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

Существует несколько шаблонов в Stateflow, который может привести к неограниченной рекурсии.

Вызовы рекурсивной функции

Когда состояние по умолчанию A вводится, событие Evn широковещательно передается в действии записи A. Evn результаты в рекурсивном вызове алгоритма интерпретации. Поскольку A активен, исходящий переход A тестируется. Начиная с текущего события Evn совпадает с событием перехода (и из-за отсутствия условия), действие условия выполняется, широковещательно передавая Evn снова. Это приводит к новому вызову алгоритма интерпретации, который повторяет ту же последовательность шагов до переполнения стека.

Вызовы рекурсивной функции

hisf_0007: Использование условий соединения (обеспечивающий взаимное исключение)

ID: Заголовок

hisf_0007: Использование условий соединения (обеспечивающий взаимное исключение)

Описание

Улучшить ясность и предотвратить генерацию недостижимого кода:

AСделайте условия соединения взаимоисключающими.
Примечания

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

ОбъяснениеAУлучшите ясность и предотвратите генерацию недостижимого кода.
Ссылки
  • DO-331, Раздел MB.6.3.1.b 'Требования высокого уровня точен и сопоставим'
    DO-331, Раздел MB.6.3.1.d 'Требования высокого уровня поддается проверке'
    DO-331, Раздел MB.6.3.1.e 'Требования высокого уровня соответствует стандартам
    DO-331, Раздел MB.6.3.2.b 'Низкоуровневые требования точен и сопоставим'
    DO-331, Раздел MB.6.3.2.d 'Низкоуровневые требования поддается проверке'
    DO-331, Раздел MB.6.3.2.e 'Низкоуровневые требования соответствует стандартам

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

hisf_0013: Использование путей к переходу (пересекающий параллельные государственные границы)

ID: Заголовок

hisf_0013: Использование путей к переходу (пересекающий параллельные государственные границы)

Описание

Постараться не создавать схемы, которые трудно изучить,

AПостарайтесь не создавать переходы, которые пересекаются от одного параллельного состояния до другого.
Примечания

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

ОбъяснениеAУлучшите удобочитаемость модели.
Проверки Model Advisor

  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check Stateflow charts for transition paths that cross parallel state boundaries

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check Stateflow charts for transition paths that cross parallel state boundaries

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check Stateflow charts for transition paths that cross parallel state boundaries

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check Stateflow charts for transition paths that cross parallel state boundaries

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check Stateflow charts for transition paths that cross parallel state boundaries

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

Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

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

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

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

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

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

В следующем примере, когда Out_A 4, обе метрополии (A_Parent и B_Parent) повторно введены. Возвращение в метрополии сбрасывает значения Out_A и Out_B обнулять.

hisf_0014: Использование путей к переходу (проходящий через состояния)

ID: Заголовок

hisf_0014: Использование путей к переходу (проходящий через состояния)

Описание

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

AИзбегайте путей к переходу, которые входят и из состояния, не заканчиваясь на подсостоянии.
Примечания

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

ОбъяснениеAУлучшите удобочитаемость модели.
Проверки Model Advisor
  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check for inappropriate use of transition paths

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check for inappropriate use of transition paths

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check for inappropriate use of transition paths

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check for inappropriate use of transition paths

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check for inappropriate use of transition paths

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

Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

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

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

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

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

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

hisf_0015: Сильный ввод данных (бросающий переменные и параметры в выражениях)

ID: Заголовок

hisf_0015: Сильный ввод данных (бросающий переменные и параметры в выражениях)

Описание

Упростить сильный ввод данных,

A

Явным образом введите переменные броска и параметры различных типов данных в:

  • Оценки перехода

  • Присвоения перехода

  • Присвоения в состояниях

Примечания

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

ОбъяснениеAПримените сильный ввод данных.
Проверки Model Advisor

  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check Stateflow charts for strong data typing

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check Stateflow charts for strong data typing

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check Stateflow charts for strong data typing

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check Stateflow charts for strong data typing

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check Stateflow charts for strong data typing

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

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

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

  • ISO 26262-6, Таблица 1 (1c) 'Осуществление строгого контроля типов'

  • EN 50128, таблица A.4 (8) 'язык программирования со строгим контролем типов'

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

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

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

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

hisf_0016: имена порта Stateflow

ID: Заголовок

hisf_0016: имена порта Stateflow

ОписаниеИмя ввода или вывода Stateflow должно совпасть с соответствующим сигналом. Исключение к инструкции - то, что допускающие повторное использование блоки Stateflow могут иметь различные имена порта.
ОбъяснениеПоддержите генерацию прослеживаемого кода.
Проверки Model Advisor

  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check naming of ports in Stateflow charts

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check naming of ports in Stateflow charts

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check naming of ports in Stateflow charts

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check naming of ports in Stateflow charts

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check naming of ports in Stateflow charts

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

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

  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

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

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

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

В последний раз измененный2018a

hisf_0017: определение объема объекта данных Stateflow

ID: Заголовок

hisf_0017: определение объема объекта данных Stateflow

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

  • By Task> Modeling Standards for DO-178C/DO-331> High-Integrity Systems> Stateflow> Check scoping of Stateflow data objects

  • By Task> Modeling Standards for IEC 61508> High-Integrity Systems> Stateflow> Check scoping of Stateflow data objects

  • By Task> Modeling Standards for IEC 62304> High-Integrity Systems> Stateflow> Check scoping of Stateflow data objects

  • By Task> Modeling Standards for ISO 26262> High-Integrity Systems> Stateflow> Check scoping of Stateflow data objects

  • By Task> Modeling Standards for EN 50128> High-Integrity Systems> Stateflow> Check scoping of Stateflow data objects

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

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

  • IEC 61508-3, Таблица A.3 (3) 'Языковое подмножество'

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

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

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

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

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

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