Функции MATLAB

himl_0001: Использование стандартизированных заголовков функции MATLAB

ID: Заголовокhiml_0001: Использование стандартизированных заголовков функции MATLAB®
Описание

При использовании функций MATLAB используйте стандартизированный заголовок, чтобы предоставить информацию о цели и использовании функции.

Объяснение

Стандартизированный заголовок улучшает удобочитаемость и документацию функций MATLAB. Заголовок должен предоставить функциональное описание и информацию об использовании.

Проверки Model AdvisorПроверяйте использование стандартизированных заголовков функции MATLAB (Simulink Check)
Ссылки

  • DO-331, Раздел MB.6.3.4.e – Исходный код прослеживаем к низкоуровневым требованиям

  • ISO 26262-6, Таблица 1 (1g) – Использование руководств по стилю

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

Типичный стандартизированный функциональный заголовок включает:

  • FunctionName

  • Описание

  • Вводы и выводы (если это возможно, включайте размер и тип),

  • Допущения и ограничения

  • История версии

Пример:

% FUNCTION NAME:
%   avg
%
% DESCRIPTION:
%   Compute the average of three inputs
%
% INPUT:
%   in1 - (double) Input one
%   in2 - (double) Input two
%   in3 - (double) Input three
%
% OUTPUT:
%   out - (double) Calculated average of the three inputs
%
% ASSUMPTIONS AND LIMITATIONS:
%   None
%
% REVISION HISTORY:
%   05/02/2018 - mmyers
%       * Initial implementation
%

himl_0002: Сильный ввод данных на контурах функции MATLAB

ID: Заголовокhiml_0002: Сильный ввод данных на контурах функции MATLAB
Описание

Чтобы поддержать сильный ввод данных в интерфейсах функций MATLAB, явным образом задайте интерфейс для входных сигналов, выходных сигналов и параметров, путем установки:

  • Сложность

  • Ввод

Объяснение

Заданные интерфейсы:

  • Позвольте проверку непротиворечивости интерфейсов.

  • Предотвратите непреднамеренную генерацию различных функций для различных типов ввода и вывода.

  • Упростите тестирование функций путем ограничения количества тестов.

Проверки Model AdvisorПроверяйте на интерфейсы функции MATLAB с унаследованными свойствами (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица B.9 (6) - Полностью заданный интерфейс

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

  • ISO 26262-6, Таблица 1 (1c) - Осуществление строгого контроля типов
    ISO 26262-6, Таблица 1 (1f) - Использование однозначного графического представления

  • EN 50128, таблица A.1 (11) - технические требования программного интерфейса

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

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

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

В Портах и Менеджере данных, задайте сложность и тип входа u1 можно следующим образом:

  • Complexity к Off

  • Type к uint16

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

В Портах и Менеджере данных, не задавайте сложность и тип входа u1 можно следующим образом:

  • Complexity к Inherited

  • Type к Inherit: Same as Simulink.

Примечание

Чтобы получить доступ к Портам и Менеджеру данных, из панели инструментов Редактора блока MATLAB function, выбирают Edit Data.

himl_0003: Ограничение сложности функции MATLAB

ID: Заголовокhiml_0003: Ограничение сложности функции MATLAB
Описание

При использовании функций MATLAB ограничьте размер и сложность кода MATLAB. Размер и сложность функций MATLAB характеризуются:

  • Строки кода

  • Уровни вложенной функции

  • Цикломатическая сложность

  • Плотность комментариев (отношение строк с комментариями к строкам кода)

Примечание

Размер и пределы сложности могут варьироваться через проекты. Типичные пределы могут быть как описано в этой таблице:

МетрикаПредел
Строки кода60 на функцию MATLAB
Уровни вложенной функции31,2
Цикломатическая сложность15
Плотность комментариев0,2 строки с комментариями на строку кода

1Pure Обертки к внешним функциям не считаются как отдельные уровни.

2Standard библиотечные функции MATLAB не рассчитывают как отдельные уровни.

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

  • Понимание

  • Трассируемость

  • Поддерживаемость

  • Тестируемость

Проверки Model AdvisorПроверяйте метрики функции MATLAB (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица B.9 (6) - Полностью заданный интерфейс

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

  • ISO 26262-6, Таблица 1 (1a) - Осуществление низкой сложности
    ISO 26262-6, Таблица 1 (1f) - Использование однозначного графического представления

  • EN 50128, таблица A.1 (11) - технические требования программного интерфейса

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

Смотрите также
В последний раз измененныйR2016a