DO - Пример тематического исследования 178C

DO - 178C пример Тематического исследования показывает использование DO - 178C шаблон проекта как часть рабочего процесса проверки для вертолетного проекта управления полетом. Этот пример включает многие этапы жизненного цикла разработки и верификации, вызванные DO - 178C и DO 331 стандарт безопасности. Это также описывает, как можно использовать подход Модельно-ориентированного проектирования, чтобы удовлетворить многим целям DO - 178C и DO 331 стандарт.

Открыть DO - 178C пример Тематического исследования и выполнить пример рабочего процесса:

  1. В командной строке MATLAB®, введите:

    do178CaseStudyStart 
    Simulink® генерирует и открывает проект в качестве примера.

  2. Рассмотрите иерархию папок проекта и содержимое. Обратитесь к таблице в DO - 178C Содержимое Папки Тематического исследования В качестве примера для получения информации о проекте. А именно, рассмотрите содержимое в "Содержимом Перед Выполняющимся Рабочим процессом" столбец.

  3. Во вкладке Project Shortcuts выберите Case Study, чтобы открыть Live Editor рабочего процесса в качестве примера скрипт runDemo.mlx. Используйте гиперссылки в live скрипте, чтобы выполнить задачи, вызванные в примере рабочего процесса.

    Примечание

    Чтобы просмотреть команды MATLAB, установите свой курсор на гиперссылку.

  4. После выполнения примера рабочего процесса рассмотрите иерархию папок проекта и содержимое. Используйте информацию в DO - 178C Содержимое Папки Тематического исследования В качестве примера, чтобы наблюдать содержимое, которое было добавлено.

DO - Содержимое папки тематического исследования 178C в качестве примера

Проект, созданный при помощи DO - 178C шаблон проекта, содержит предварительно заполненные папки. Следующая таблица описывает содержимое папки для DO - 178C пример Тематического исследования. Содержимое Перед Выполняющейся Демонстрацией Рабочего процесса и Содержимым После Выполняющихся Демонстрационных столбцов Рабочего процесса задает различия в содержимом папки до и после выполнения примера рабочего процесса в runDemo.mlx live Script.

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

Содержимое перед выполняющимся рабочим процессомСодержимое после выполняющегося рабочего процесса

DO_02_Requirements

> specification

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

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

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

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

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

Эти отчеты сгенерированы от SR.slreqx и HLR.slreqx при помощи Live Editor Тематического исследования скрипт, чтобы вызвать функциональный genReqReport.

DO_03_Design

> common

specification\block_libraries подпапка содержит:

  • ControlLib.slx

  • FilterLib.slx

Примечание

Как часть соглашения при использовании DO - 178C Проект, каждая библиотека имеет скрипт MATLAB, который можно использовать, чтобы открыть библиотеку, open_ControlLib.m и open_FilterLib.m.

specificationТипы данных подпапка содержит словарь данных bus_types.sldd. Этот словарь данных хранит определение Simulink.Bus объект, который жизненно важен для нескольких моделей в проекте.

Никакое изменение

> <model_name>

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

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

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

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

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

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

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

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

> <model_name>> specification

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

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

documents подпапка хранит описание проекта модели. Эта папка пуста первоначально.

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

Этот отчет сгенерирован из модели при помощи Live Editor Тематического исследования скрипт, чтобы вызвать genSDD.

> <model_name>> test_cases

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.

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

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

Тесты, которые используются, чтобы удовлетворить целям, которые не достигаются в его высокоуровневом тестовом покрытии, сгенерированы от AHRS_Voter модель при помощи Live Editor Тематического исследования скрипт, чтобы вызвать genLowLevelTests.

> <model_name>> verification_results

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

  • model_reviews

  • simulation_results это включает подпапки HLR и LLR

  • model_coverages это включает подпапки HLR и LLR

  • design_error_detections

  • design_standard_checks

  • model_metrics

Примечание

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

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

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

design_error_detections подпапка содержит отчет поиска ошибок проектирования для модели AHRS_Voter. Этот отчет является результатом использования Simulink Design Verifier™, чтобы исследовать модель против потенциальных ошибок времени выполнения и мертвой логики. Отчет сгенерирован при помощи Live Editor Тематического исследования скрипт, чтобы вызвать detectDesignErrs.

design_standard_checks подпапка содержит моделирующий стандартный отчет соответствия для модели AHRS_Voter. Этот отчет является результатом исследования модели против проверок Model Advisor, которые заданы в конфигурационном файле Model Advisor tools\checks\do178Checks.json. Отчет сгенерирован при помощи Live Editor Тематического исследования скрипт, чтобы вызвать checkModelStds.

DO_04_Code

> specification

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

Сгенерированный код для всех пяти моделей. Этот исходный код сгенерирован из моделей при помощи Live Editor Тематического исследования скрипт, чтобы вызвать функциональный genSrcCode.

Примечание

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

> verification_results

Папки для задач верификации кода. Эти подпапки создаются для каждой модели. Они пусты после создания.

  • code_reviews

  • eoc_test_results

  • code_coverages

  • coding_error_detections

  • code_proving

  • code_standard_checks

  • code_metrics

code_reviews подпапка содержит отчеты инспекции кода для сгенерированного кода из каждой модели. Эти отчеты являются результатом использования Simulink Code Inspector™, чтобы смотреть исходный код. Отчет сгенерирован при помощи Live Editor Тематического исследования скрипт, чтобы вызвать verifySrcCode2Model.

eoc_test_results\AHRS_Voter\host\HLR\instrumented подпапка содержит высокий уровень, программное обеспечение в результатах испытаний цикла и отчет сгенерированного кода для модели AHRS_Voter. Они - результат выполнения тестов, которые проверяют низкоуровневые требования (реализованный через модель) против требований высокого уровня в программном обеспечении в режиме цикла. Эти результаты испытаний сгенерированы при помощи Live Editor Тематического исследования скрипт, чтобы вызвать verifyObjCode2Reqs.

eoc_test_results\AHRS_Voter\host\LLR\instrumented подпапка содержит низкий уровень, программное обеспечение в результатах испытаний цикла и отчет сгенерированного кода для модели AHRS_Voter. Они - результат выполнения тестов, которые выведены из модели, чтобы дополнить ее высокоуровневое тестовое покрытие в программном обеспечении в режиме цикла. Эти результаты испытаний сгенерированы при помощи Live Editor Тематического исследования скрипт, чтобы вызвать verifyObjCode2LowLevelTests.

code_coverages\AHRS_Voter подпапка содержит совокупный отчет покрытия кода сгенерированного кода для модели AHRS_Voter. Этот отчет собран от слияния и высокоуровневые и низкоуровневые результаты покрытия кода. Отчет сгенерирован при помощи Live Editor Тематического исследования скрипт, чтобы вызвать mergeCodeCoverage.

code_coverages\AHRS_Voter\host\HLR подпапка содержит высокоуровневые результаты покрытия кода и отчет сгенерированного кода для модели AHRS_Voter. Эти результаты покрытия собраны из выполнения тестов, которые проверяют низкоуровневые требования (реализованный через модель) против требований высокого уровня в программном обеспечении в режиме цикла. Эти результаты покрытия сгенерированы при помощи Live Editor Тематического исследования скрипт, чтобы вызвать verifyObjCode2Reqs.

code_coverages\AHRS_Voter\host\LLR подпапка содержит низкоуровневые результаты покрытия кода и отчет сгенерированного кода для модели AHRS_Voter. Эти результаты покрытия собраны из выполнения тестов, которые выведены из модели, чтобы дополнить ее высокоуровневое тестовое покрытие в программном обеспечении в режиме цикла. Эти результаты покрытия сгенерированы при помощи Live Editor Тематического исследования скрипт, чтобы вызвать verifyObjCode2LowLevelTests.

code_proving\Flight_Control подпапка содержит отчет верификации Polyspace® Code Prover™ сгенерированного кода для Flight_Control модель и ее более низкие модели уровня. Этот отчет является результатом использования Polyspace Code Prover, чтобы проверять исходный код Flight_Control и его модели низшего уровня против потенциальных дефектов программного обеспечения. Отчет сгенерирован при помощи Live Editor Тематического исследования скрипт, чтобы вызвать proveCodeQuality.

code_standard_checks подпапка содержит кодирующий стандартный отчет соответствия сгенерированного кода для каждой модели. Этот отчет сгенерирован от проверки, что исходный код каждой модели против правил кодирования Polyspace Bug Finder™ включил при помощи tools\checks\MISRA_C_2012_ACG. Отчет сгенерирован при помощи Live Editor Тематического исследования скрипт, чтобы вызвать checkCodeStds.

work

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

Никакое изменение