Создайте DO-178C/DO-331 Проект

DO - 178C Проект является шаблоном для управления процесс разработки программного обеспечения для DO-178C/DO-331 при помощи инструментов MathWorks®. Чтобы использовать в своих интересах схему этого проекта при запуске новой программы, можно создать проект на основе этого шаблона.

Создать проект DO-178 при помощи шаблона проекта:

  1. На экране MATLAB Home нажмите Simulink, чтобы открыть начальную страницу Simulink®.

  2. Во вкладке New расширьте опцию DO Qualification Kit, переместитесь, ваш курсор по DO - 178C Проецируют изображение и выбирают Create Project.

  3. В диалоговом окне Create Project введите DO178C_demo как имя проекта и выбора расположение файла, где вы хотите сохранить проект. Нажать ОК.

Simulink генерирует и открывает новый проект. Проект предварительно заполняется с:

  • Ярлыки проекта

  • Шаблоны документа по планированию

  • Рекомендуемое моделирование и кодирование стандартов

  • Конструктивные ограничения в форме библиотек, шаблонов модели, настроек модели и проверок

  • Инструменты для автоматизации жизненных задач разработки и верификации

  • Среда Jenkins™, которая использует непрерывное интегрирование, чтобы полностью автоматизировать выполнение действий верификации программного обеспечения.

Можно теперь добавить содержимое в проект:

Для получения дополнительной информации об использовании проектов смотрите управление проектами (Simulink).

Исследуйте ярлыки проекта

Ярлыки проекта в обеспечивании простого способа выполнить общие задачи в проекте. В DO - 178C шаблон проекта, встроенные ярлыки включают:

  • Добавьте, что Новая Модель — Создает модель, которая автоматически добавляется к DO_03_Design папка проекта. Для получения дополнительной информации смотрите, Добавляет Модель проекта к Вашему проекту DO-178.

  • Установите значение по умолчанию, настройка Model Advisor — задает do178Checks.json как конфигурационный файл Model Advisor по умолчанию. Этот конфигурационный файл поставляется с DO - 178C шаблон проекта. Для получения дополнительной информации смотрите Использование Model Advisor Configuration Editor, чтобы Создать Пользовательскую Настройку Model Advisor (Simulink Check).

  • Настройка Model Advisor Значения по умолчанию восстановления — Очищает установку, которая определяет do178Checks.json как настройка Model Advisor по умолчанию. Model Advisor возвращается настройка Model Advisor, чтобы использовать стандартную настройку, которая задана вашим системным администратором.

Исследуйте папки проекта

DO - 178C папки проекта содержит данные, которые используются в рабочем процессе Модельно-ориентированного проектирования. Используйте следующую таблицу, чтобы лучше изучить предзаполненное содержимое в:

Примечание

Папки проекта в примере заполняются с данными, моделями, и т.д. которые используются, чтобы спроектировать вертолетную систему управления полетом. В то время как иерархия папок и высокоуровневое концептуальное содержимое в том же самом как те в шаблоне проекта, эти папки заполняются с дополнительными данными.

Папка> Подымя папки

Папки в шаблоне проектаПапки после выполняющегося тематического исследования или Дженкинса задание сборки CI

continuous_integeration

Дженкинс непрерывные артефакты интегрирования

> help

Инструкции относительно использования Дженкинса непрерывное интегрирование в DO - 178C проект.

> job

Источники MATLAB для среды Дженкинса СИ. В этой папке:

  • DODemoTasks.m — Класс MATLAB, который обрисовывает в общих чертах задание сборки Дженкинса на основе операций Model-Based Design в DO - 178C проект.

  • JenkinsJob.m — абстрактный класс, который является базисом для разработки задания сборки Дженкинса, как DODemoTasks

  • JenkinsReport.m — Класс MATLAB, который генерирует отчеты XML от задания сборки Дженкинса.

  • runJob.m — Функция MATLAB, которая является точкой входа, чтобы запустить задание сборки Дженкинса.

> reports

Эта подпапка пуста после создания.

Отчеты результатов отформатированы плагином Отображения Сводных данных Дженкинса. Результаты включают:

  • Сводные данные сборки — Полные результаты для каждой задачи Дженкинса создают задание.

  • Сводные данные Результата верификации — Результаты для отдельных итераций задач верификации, перечисленными результатами в табличном формате

DO_01_Planning

Контрольные списки и планирование артефактов.

> checklists

Контрольные списки для анализа требований, моделей, кода, тестов, результатов испытаний и данных о трассировке.

> plans

Программное обеспечение планируя артефакты. Подпапки включают:

  • MB_11_01_PSAC — содержит План артефакта относительно Аспектов программного обеспечения Сертификации (PSAC)

  • MB_11_02_SDP — содержит План разработки программного обеспечения (SDP) артефакта

  • MB_11_03_SVP — содержит План верификации программного обеспечения (SVP) артефакта

  • MB_11_04_SCMP — содержит План управления конфигурированием ПО (SCMP) артефакта

  • MB_11_05_SQAP — содержит План артефакта относительно Аспектов программного обеспечения Сертификации (PSAC)

> standards

Артефакты стандартов программного обеспечения. Подпапки включают:

  • MB_11_06_SRS — содержит Стандарты требований к программному обеспечению (SRS) артефакта

  • MB_11_07_SDS — содержит Стандарты разработки ПО (SDS) артефакта

  • MB_11_08_SCS — содержит Стандарты программного кода (SCS) артефакта

  • MB_11_23_SMS — содержит Стандарты модели ПО (SMS) артефакта

DO_02_Requirements

Данные о требованиях.

> specification

Эта подпапка пуста после создания.

Хранит ваш высокий уровень и выведенные требования (.slreqx), и данные о трассируемости (.slmx).

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

  • (Системные требования) SR.slreqx

  • (требования высокого уровня) HLR.slreqx

Эта подпапка также содержит HLR.slmx файл, который хранит данные о трассировке между высокоуровневыми требованиями к программному обеспечению и связанными системными требованиями.

documents подпапка содержит отчеты системных требований и высокоуровневых требований к программному обеспечению.

Эти отчеты сгенерированы от SR.slreqx и HLR.slreqx taskGenReqReport() в Дженкинсе создают задание.

> verification_results

Эта подпапка пуста после создания.

Хранит ваши контрольные списки, которые соответствуют действиям анализа для высокоуровневых требований к программному обеспечению и выведенных требований.

Хранит ваши контрольные списки, которые соответствуют действиям анализа для высокоуровневых требований к программному обеспечению и выведенных требований.

DO_03_Design

Данные о жизненном цикле для моделей проекта.

> common

Построения общего умысла и применимые артефакты верификации.

Подпапки включают:

  • specification — содержит совместно использованные блоки и данные. В этой папке:

    • block_libraries содержит пользовательские библиотеки блоков (.slx), и их данные о трассируемости (.slmx).

    • data содержит словари общих данных (.slddM) используемый несколькими моделями проекта.

    • data_types содержит пользовательские типы данных, включая перечисления, шины и псевдонимы (.slddM).

  • test_cases — Хранит ваши тесты и процедуры для выборочных библиотечных блоков. Эта подпапка пуста после создания.

  • verification_results — Эта подпапка, которая пуста после создания, хранит эти основанные на модели результаты верификации:

    • design_stand_checks

    • model_coverages

    • model_metrics

    • model_reviews

    • simulation_results

> <model>

Не применяется

Существует пять папок модели, каждая из которых выведена из sample_model шаблон папки. Эти модели представляют низкоуровневые требования к программному обеспечению, которые прослеживают до высокоуровневых требований к программному обеспечению, полученных в DO_02_Requirements\specification\HLR.slreqx.

Программная архитектура обычно выводится из того, как проект организован. С Модельно-ориентированным проектированием программная архитектура по сути устанавливается иерархией модели проекта, на основе естественной группировки высокоуровневых требований к программному обеспечению. В этом тематическом исследовании проект подразделен на несколько моделей, чтобы удовлетворить различным требованиям в HLR.slreqx.

В иерархии модели проекта модели проекта включают:

  • Flight_Control — Верхний уровень, допускающая повторное использование модель, которая реализует полную стратегию управления

  • Actuator_Control — Модель одноразового использования, низшего уровня

  • AHRS_Voter — Модель одноразового использования, низшего уровня

  • InnerLoop_Control — Модель одноразового использования, низшего уровня

  • OuterLoop_Control — Модель одноразового использования, низшего уровня

> <model>> specification

Не применяется

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

data подпапка содержит словарь данных Simulink, который называют в честь модели с префиксом DD, для того, чтобы хранить данные модели специфичные. Поскольку Actuator_Control является допускающим повторное использование, существует дополнительный скрипт MATLAB®, который называют в честь модели с префиксом localDD_. Этот скрипт содержит специфичные для экземпляра данные модели.

documents подпапка хранит описание проекта модели.

> <model>> test_cases

Не применяется

Примечание

В этом примере тесты сгенерированы только для модели AHRS_Voter.

HLR подпапка хранит тесты, которые разрабатываются, чтобы проверить модель по требованиям высокого уровня. В этой папке вы создаете файл Simulink Test™, чтобы управлять высокоуровневыми тестами. Этот тестовый файл называют в честь модели, сопровождаемой _REQ_Based_Test.

В этом тематическом исследовании существует три высокоуровневых теста для модели AHRS_Voter. Эти тесты, которые доступны в AHRS_Voter\test_cases\HLR\AHRS_Voter_REQ_Based_Test.mldatx, используйте внешне сохраненные тестовые обвязки HRS_Voter_Harness_HLR_11.slx, AHRS_Voter_Harness_HLR_12.slx, и HRS_Voter_Harness_HLR_13.slx проверять AHRS_Voter против требований HLR_11, HLR_12, и HLR_13, соответственно. HLR подпапка также содержит AHRS_Voter_REQ_Based_Test.slmx , который хранит данные о трассировке между тестами и высокоуровневыми требованиями к программному обеспечению, которые они разрабатываются, чтобы проверить.

LLR подпапка содержит низкоуровневые результаты генерации тестов и отчет для модели AHRS_Voter, включая тестовый файл и тестовую обвязку. Сгенерированные низкоуровневые тесты, которые доступны в AHRS_Voter\test_cases\LLR\AHRS_Voter_SLDV_Based_Test.mldatx, используйте внешне сохраненную тестовую обвязку AHRS_Voter_Harness_SLDV.slx.

Тесты, которые используются, чтобы удовлетворить целям, которые не достигаются в его высокоуровневом тестовом покрытии, сгенерированы из модели taskGenLowLevelTests в Дженкинсе создают задание.

> <model>> verification_results

Не применяется

Примечание

В этом примере результаты верификации сгенерированы только для модели AHRS_Voter.

simulation_results\HLR подпапка содержит высокоуровневые результаты симуляции и отчет для модели. Эти результаты симуляции создаются при помощи тестов, чтобы проверить низкоуровневые требования (реализованный через модель) против требований высокого уровня. Результаты сгенерированы taskVerifyModel2Reqs() в Дженкинсе создают задание.

model_coverages\HLR подпапка содержит высокоуровневые результаты покрытия модели и отчет для модели. Эти результаты покрытия собраны путем выполнения тестов, которые проверяют низкоуровневые требования (реализованный через модель) против требований высокого уровня. Результаты покрытия модели сгенерированы taskVerifyModel2Reqs() в Дженкинсе создают задание.

design_error_detections() подпапка содержит отчет поиска ошибок проектирования для модели AHRS_Voter. Этот отчет является результатом использования Simulink Design Verifier™, чтобы исследовать модель против потенциальных ошибок времени выполнения и мертвой логики. сгенерированы taskDetectDesignErrs() в Дженкинсе создают задание.

design_standard_checks подпапка содержит моделирующий стандартный отчет соответствия для модели. Этот отчет является результатом исследования модели против проверок Model Advisor, которые заданы в конфигурационном файле Model Advisor tools\checks\do178Checks.json. Отчет сгенерирован taskCheckModelStds() в Дженкинсе создают задание.

DO_04_Code

Данные о жизненном цикле для сгенерированного кода.

> specification

Хранит сгенерированный код. Эта подпапка пуста после создания.

Сгенерированный исходный код для каждой модели. Код сгенерирован taskGenSrcCode() в Дженкинсе создают задание.

Примечание

Код для модели верхнего уровня находится в Flight_Control_ert_rtw. Код для каждой модели низшего уровня находится в slprj\ert папка, с разделяемым кодом.

> verification_results

Эта папка пуста после создания.

Верификация заканчивается для исходного кода и исполняемого объектного кода.

> verification_results> code_reviews

Инспекция кода хранилищ сообщает для сгенерированного кода. Эта подпапка пуста после создания.

Отчеты инспекции кода для сгенерированного кода из каждой модели являются результатом использования Simulink Code Inspector™, чтобы смотреть исходный код. Отчет сгенерирован taskGenSrcCode() в Дженкинсе создают задание.

> verification_results> eoc_test_results

Высокий уровень/низкий уровень хранилищ, программное обеспечение в результатах испытаний цикла и отчет сгенерированного кода. Эта подпапка пуста после создания.

eoc_test_results\<model>\host\HLR\instrumented подпапка содержит высокий уровень, программное обеспечение в результатах испытаний цикла и отчет сгенерированного кода для модели. Они - результат выполнения тестов, которые проверяют низкоуровневые требования (реализованный через модель) против требований высокого уровня в программном обеспечении в режиме цикла. Эти результаты испытаний сгенерированы taskVerifyObjCode2Reqs() в Дженкинсе создают задание.

eoc_test_results\<model>\host\LLR\instrumented подпапка содержит низкий уровень, программное обеспечение в результатах испытаний цикла и отчет сгенерированного кода для модели. Они - результат выполнения тестов, которые выведены из модели, чтобы дополнить ее высокоуровневое тестовое покрытие в программном обеспечении в режиме цикла. Эти результаты испытаний сгенерированы taskVerifyObjCode2LowLevelTests() в Дженкинсе создают задание.

> verification_results> code_coverages

Хранит отчет покрытия кода сгенерированного кода. Эта подпапка пуста после создания.

Совокупный отчет покрытия кода сгенерированного кода для каждой модели. Этот отчет собран от слияния и высокоуровневые и низкоуровневые результаты покрытия кода. Отчет сгенерирован taskMergeCodeCoverage() в Дженкинсе создают задание.

code_coverages\<model>\host\HLR подпапка содержит высокоуровневые результаты покрытия кода и отчет сгенерированного кода. Эти результаты покрытия собраны из выполнения тестов, которые проверяют низкоуровневые требования (реализованный через модель) против требований высокого уровня в программном обеспечении в режиме цикла. Эти результаты испытаний сгенерированы taskVerifyObjCode2Reqs() в Дженкинсе создают задание.

code_coverages\<model>\host\LLR подпапка содержит низкоуровневые результаты покрытия кода и отчет сгенерированного кода для каждой модели. Эти результаты покрытия собраны из выполнения тестов, которые выведены из модели, чтобы дополнить ее высокоуровневое тестовое покрытие в программном обеспечении в режиме цикла. Эти результаты испытаний сгенерированы taskVerifyObjCode2LowLevelTests() в Дженкинсе создают задание.

> verification_results> coding_error_detections

Хранит аналитические отчеты Polyspace® Bug Finder™. Эта подпапка пуста после создания.

Аналитические отчеты Polyspace Bug Finder сгенерированы detectCodingErrs().

> verification_results> code_proving

Хранит отчет верификации Polyspace Code Prover™ сгенерированного кода. Эта подпапка пуста после создания.

Этот отчет является результатом использования Polyspace Code Prover, чтобы проверять исходный код Flight_Control и его модели низшего уровня против потенциальных дефектов программного обеспечения. Отчеты сгенерированы taskProveCodeQuality() в Дженкинсе создают задание.

> verification_results> code_standard_checks

Хранит кодирующий стандартный отчет соответствия сгенерированного кода. Эта подпапка пуста после создания.

Отчет сгенерирован от проверки, что исходный код каждой модели против правил кодирования Polyspace Bug Finder включил при помощи tools\checks\MISRA_C_2012_ACG. Эти отчеты сгенерированы taskCheckCodeStds() в Дженкинсе создают задание.

> verification_results> code_metrics

Хранит метрические отчеты Polyspace кода. Эта подпапка пуста после создания.

Метрические отчеты Polyspace кода сгенерированы computeCodeMetrics().

DO_05_Artifacts

Хранит ваши данные о жизненном цикле и артефакты, которые не производятся при помощи инструментов Mathworks. Это - ответственность пользователя создать эти артефакты:

  • MB_11_15_SECIиндекс Настройки среды Жизненного цикла программного обеспечения артефакта (SEC).

  • MB_11_16_SCIИндекс настройки программного обеспечения (SCI) артефакта.

  • MB_11_17_PRПроблемные отчеты (PR) артефакта.

  • MB_11_18_SCMRЗаписи управления конфигурированием ПО (SCMR) артефакта.

  • MB_11_19_SQARЗаписи гарантии качества ПО (SQAR) артефакта.

  • MB_11_20_SASСводные данные выполнения программного обеспечения (SAS) артефакта.

  • MB_11_22_PDIF — сохраните Файл элемента данных параметра (PDIF).

DO_06_Tool Qualification

Содержит данные о жизненном цикле квалификации инструмента.

Специфичные для инструмента подпапки, которые соответствуют Продуктам Mathworks, которые поддерживаются DO Qualification Kit, включая:

  • PolyspaceBugFinder

  • PolyspaceCodeProver

  • SimulinkCheck

  • SimulinkCodeInspector

  • SimulinkCoverage

  • SimulinkDesignVerifier

  • SimulinkModelComparison

  • SimulinkReportGenerator

  • SimulinkRequirements

  • SimulinkTest

help

Инструкции относительно использования DO - 178C шаблон проекта, описание папок/подпапок проекта и советы для Requirements Management Interface Simulink Requirements™.

tools

Инструменты и настройки, которые важны для проекта. Подпапки включают:

  • checks — Содержит конфигурационные файлы для проверок Model Advisor и Polyspace, Кодирующего Стандартные проверки, спроектированные, чтобы дополнить Стандарты модели ПО (SMS) и Стандарты программного кода (SCS), предоставленные в проекте, соответственно.

  • compatible_blocks — Хранит библиотеку блоков, содержащую все примитивные блоки, которые совместимы с Simulink Code Inspector. Служит ограничениями разработки ПО.

  • templates — Шаблоны хранилищ и настройки для создания моделей. Подпапки включают:

    • model_configurations — содержит настройки базовой модели, которые соответствуют артефакту Стандартов Модели ПО.

    • model_templates — Содержит шаблон модели, который соответствует артефакту Стандартов Модели ПО.

  • utilities — Служебные функции, которые можно использовать, чтобы выполнить существенные задачи разработки и верификации. Подпапки включают:

    • code_generation — используемый для генерации кода и получения жизненной информации о файле кода.

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

    • project_management — используемый для управления проект. В этой папке:

      • shutdown содержит ярлык проекта, который выполняет задачи очистки и восстановления при закрытии проекта.

      • startup содержит ярлык проекта, который выполняет регистрацию и задачи настройки при запуске проекта.

    • report_generation — используемый для генерации Отчетов Описания Разработки системы и Отчетов Требований.

    • requirements_management — используемый для конфигурирования настроек Интерфейса управления требования (RMI) Simulink Coverage™.

    • verification — используемый для проверки моделей и кода. В этой папке:

      • dynamic_testing содержит служебные функции, которые проверяют модели и код при помощи методологий динамического тестирования.

      • static_analysis содержит служебные функции, которые проверяют модели и код при помощи статических анализов и проверок.

work

Значение по умолчанию рабочая папка, которая содержит, работает разрабатываемые и промежуточные результаты верификации.

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

Включает demo подпапка, которая содержит live скрипт MATLAB runDemo.mlx. Можно выполнить этот скрипт путем выбора Case Study во вкладке Project Shortcuts.