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

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

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

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

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

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

ОбъяснениеAПродвиньте однозначный стиль моделирования.
Образцовые проверки советникаДля получения дополнительной информации проверки смотрите Проверку на битовые операции в диаграммах Stateflow.
Ссылки
  • 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: Использование блока Bitwise Operator
В последний раз измененныйR2016a

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

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

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

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

Это правило только применяется, если графиком является классическая диаграмма Stateflow. Если Мучнистый и семантика Мура сопровождаются, рекурсивное поведение предотвращено из-за ограничений в семантике графика. Кроме того, можно обнаружить ошибку во время моделирования путем включения диагностики Stateflow, Обнаруживают Циклы.

Объяснение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Улучшите удобочитаемость модели.
Образцовые проверки советника

  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для путей к переходу тот перекрестные параллельные государственные границы

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для путей к переходу тот перекрестные параллельные государственные границы

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для путей к переходу тот перекрестные параллельные государственные границы

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для путей к переходу тот перекрестные параллельные государственные границы

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для путей к переходу тот перекрестные параллельные государственные границы

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

Ссылки
  • 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Улучшите удобочитаемость модели.
Образцовые проверки советника
  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Stateflow> Проверка на несоответствующее использование путей к переходу

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Stateflow> Проверка на несоответствующее использование путей к переходу

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Stateflow> Проверка на несоответствующее использование путей к переходу

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Stateflow> Проверка на несоответствующее использование путей к переходу

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Stateflow> Проверка на несоответствующее использование путей к переходу

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

Ссылки
  • 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Примените сильный ввод данных.
Образцовые проверки советника

  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для сильного ввода данных

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для сильного ввода данных

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для сильного ввода данных

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для сильного ввода данных

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Stateflow> диаграммы Stateflow Проверки для сильного ввода данных

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

Ссылки
  • 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 могут иметь различные имена порта.

ОбъяснениеПоддержите генерацию прослеживаемого кода.
Образцовые проверки советника

  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Stateflow> именование Проверки портов в диаграммах Stateflow

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Stateflow> именование Проверки портов в диаграммах Stateflow

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Stateflow> именование Проверки портов в диаграммах Stateflow

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Stateflow> именование Проверки портов в диаграммах Stateflow

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Stateflow> именование Проверки портов в диаграммах Stateflow

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

Ссылки
  • 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 с локальным осциллографом должны быть заданы на уровне графика или ниже.
ОбъяснениеПоддержите генерацию прослеживаемого кода.
Образцовые проверки советника

  • Задачей> Моделирование Стандартов для DO-178C/DO-331> Системы Высокой Целостности> Stateflow> определение объема Проверки объектов данных Stateflow

  • Задачей> Моделирование Стандартов для IEC 61508> Системы Высокой Целостности> Stateflow> определение объема Проверки объектов данных Stateflow

  • Задачей> Моделирование Стандартов для IEC 62304> Системы Высокой Целостности> Stateflow> определение объема Проверки объектов данных Stateflow

  • Задачей> Моделирование Стандартов для ISO 26262> Системы Высокой Целостности> Stateflow> определение объема Проверки объектов данных Stateflow

  • Задачей> Моделирование Стандартов для EN 50128> Системы Высокой Целостности> Stateflow> определение объема Проверки объектов данных Stateflow

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

Ссылки
  • 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
Примеры

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

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

Была ли эта тема полезной?