exponenta event banner

Функции MATLAB

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

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

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

Объяснение

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

Проверки помощника по моделиПроверка использования стандартных заголовков функций 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 явным образом определите интерфейс для входных сигналов, выходных сигналов и параметров, установив:

  • Сложность

  • Напечатать

Объяснение

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

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

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

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

Проверки помощника по моделиПроверка функциональных интерфейсов 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 следующим образом:

  • Сложность до Off

  • Введите для uint16

Не рекомендуется:

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

  • Сложность до Inherited

  • Введите для Inherit: Same as Simulink.

Примечание

Для доступа к диспетчеру портов и данных на панели инструментов редактора функциональных блоков MATLAB выберите Edit Data.

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

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

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

  • Строки кода

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

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

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

Примечание

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

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

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

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

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

  • Понимание

  • Отслеживаемость

  • Ремонтопригодность

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

Проверки помощника по моделиПроверка показателей функции 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