Функции MATLAB

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

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

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

Объяснение

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

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

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

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

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

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

  • Имя функции

  • Описание

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

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

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

Пример:

% 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

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

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

  • Сложность

  • Напечатать

Объяснение

Определенные интерфейсы:

  • Разрешить проверку согласованности интерфейсов.

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

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

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

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

  • ISO 26262-6, таблица 1 (1с) - Применение строгой типизации
    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

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

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

  • Строки кода

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

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

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

Примечание

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

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

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

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

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

  • Понимание

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

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

  • Контролируемость

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

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

  • ISO 26262-6, таблица 1 (1а) - Применение малой сложности
    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