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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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