Типовой кодекс и разработка исходного кода и верификация

В рабочем процессе, где код сгенерирован от Simulink® и Stateflow® модели, модели считаются низкоуровневыми требованиями к программному обеспечению и архитектурой, как задано в DO - 178C. Фактические низкоуровневые требования являются скомпилированной моделью в памяти, как интерпретировано механизмом Simulink на основе входа из файла модели, а также любыми файлами данных, такими как MATLAB® или файлы MAT, которые загружают данные в рабочее пространство MATLAB или рабочие пространства модели. См. рисунок 3. Сам файл модели не представляет низкоуровневые требования, потому что семантика модели не полностью включена в тот файл. Семантика модели не завершена, пока файл модели не загрузился в память, и механизм Simulink скомпилировал модель. Семантика модели, которые определяются во время компиляции, но не включены в файл модели, включает:

  • Распространенные шаги расчета

  • Распространенные типы данных

  • Распространенные размерности сигнала

  • Распространенные типы сигнала

  • Блокируйте порядок выполнения

  • Возможность соединения (фактический источник/место назначения)

  • Разрешенные данные о Блоке

Описание Разработки системы, которое создается с помощью Simulink Report Generator™, предоставляет документ, который детализирует скомпилированный для симуляции в представлении памяти модели. Это предоставляет документацию низкоуровневых требований к программному обеспечению, как задано в DO - 178C глоссарий [1]:

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

Скомпилируйте для симуляции, и компиляция для генерации кода две различных компиляции и приводят к двум немного отличающимся представлениям в оперативной памяти. Simulink Test™, Покрытие модели, Simulink Code Inspector™, Model Advisor и Report Generator только компилируют для симуляции. Embedded Coder® и Покрытие кода компилирует для генерации кода, которая включает целую компиляцию для получения информации о симуляции плюс следующая дополнительная информация.

  • Оптимизация модели, которая применяется только для генерации кода

  • Проверка непротиворечивости классы памяти в сгенерированном коде

Поскольку модель и действия верификации кода могут произойти в разное время или на различных компьютерах, необходимо проверять непротиворечивость представлений в оперативной памяти модели. Расчет Контрольной суммы MD5 используется, чтобы проверять эту непротиворечивость. Контрольная сумма MD5 вычисляется на основе представления в оперативной памяти и включает данные, которые загрузились в рабочую область из внешних файлов, которые используются моделью. Настраиваемые параметры не включены в контрольную сумму MD5. Значение Контрольной суммы MD5 автоматически вставляется в отчет Model Advisor, Описание Разработки системы и отчет Simulink Code Inspector. Также возможно использовать Simulink API, чтобы получить доступ к Контрольной сумме MD5 и вставить его в отчет Simulink Test или для использования в других отчетах, которые могут быть сгенерированы во время симуляций с помощью других методов, таких как Report Generator или скрипты MATLAB. Номер версии модели и в последний раз сохраненная дата также доступна в отчетах, и эти данные автоматически обновляются каждый раз, когда модель сохранена. Номер версии модели и в последний раз сохраненные даты не затронуты внешне загруженными данными, так, чтобы был то, почему Контрольная сумма MD5 требуется, чтобы проверять полную непротиворечивость представления в оперативной памяти. Описание Разработки системы действительно документирует переменные рабочей области, которые используются моделью в то время, когда отчет сгенерирован.

Примечание

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

Рисунок 1: типовой кодекс и разработка исходного кода и верификация