Процесс разработки программного обеспечения

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

Таблица A-2: Процесс разработки программного обеспечения

 ЦельСправочные разделыДеятельность
Справочные разделы
Уровни программного обеспеченияДоступные продукты для Модельно-ориентированного проектирования
1Разрабатываются требования высокого уровня.MB.5.1.1.aMB.5.1.2.a
MB.5.1.2.b
MB.5.1.2.c
MB.5.1.2.d
MB.5.1.2.e
MB.5.1.2.f
MB.5.1.2.g
MB.5.1.2.j
MB.5.1.2.k
MB.5.1.2.l
5.5a
A, B, C, DSimulink®, Stateflow®
2Производные требования высокого уровня определяются и предоставляются системным процессам, включая процесс оценки безопасности системы.MB.5.1.1.bMB.5.1.2.h
MB.5.1.2.i
MB.5.1.2.k
A, B, C, DSimulink, Stateflow
3Разработана программная архитектура.MB.5.2.1.aMB.5.2.2.a
MB.5.2.2.d
MB.5.2.2.h
A, B, C, DSimulink, Stateflow
4Разработаны низкоуровневые требования.MB.5.2.1.aMB.5.2.2.a
MB.5.2.2.e
MB.5.2.2.f
MB.5.2.2.g
MB.5.2.2.h
MB.5.2.3.a
MB.5.2.3.b
5.2.4.a
5.2.4.b
5.2.4.c
MB.5.5
5.5b
A, B, CSimulink, Stateflow
5Производные низкоуровневые требования определяются и предоставляются системным процессам, включая процесс оценки безопасности системы.MB.5.2.1.bMB.5.2.2.b
MB.5.2.2.c
MB.5.2.2.h
A, B, CSimulink, Stateflow
6Разработан исходный код.5.3.1.a5.3.2.a
5.3.2.b
5.3.2.c
5.3.2.d
MB.5.5
5.5.c
A, B, CSimulink Coder™, Embedded Coder®
7Исполняемые объектные коды и элемента данных параметра, если таковые имеются, создаются и загружаются на целевой компьютер.5.4.1.a5.4.2.a
5.4.2.b
5.4.2.c
5.4.2.d
5.4.3.e
5.4.3.f
A, B, C, DEmbedded Coder - режим PIL
МБ 8Определяются элементы модели спецификации, которые не способствуют реализации или реализации каких-либо требований высокого уровня.MB.5.1.1.cMB.5.1.2.kA, B, C, DSimulink, Stateflow
МБ 9Модели проекта, которые не способствуют реализации или реализации какой-либо программной архитектуры, идентифицируются.MB.5.2.1.cMB.5.2.2.hA, B, C, DSimulink, Stateflow
МБ 10Определяются элементы Design Model, которые не способствуют реализации или реализации каких-либо низкоуровневых требований.MB.5.2.1.cMB.5.2.2.hA, B, CSimulink, Stateflow

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

Разработаны требования высокого уровня

Если модели определены как Модели Спецификации, как описано в DO-331 Section MB.1.6.2, то Simulink и Stateflow могут использоваться, чтобы разработать требования к программному обеспечению высокого уровня. Компоненты этих моделей, такие как блоки Simulink или объекты Stateflow, затем будут прослеживаться до применимых требований к уровню системы, которые разрабатываются в соответствии с ARP4754A [7]. Модели должны разрабатываться в соответствии со стандартами моделирования, определенными в процессе планирования.

Производные требования высокого уровня определяются и предоставляются системным процессам

Если модели определены как Модели Спецификации, как описано в DO-331 Section MB.1.6.2, любые компоненты Simulink или Stateflow, которые не соответствуют системным требованиям, будут идентифицированы как производные требования. Эти производные требования будут предоставляться в рамках процесса оценки безопасности.

Программная архитектура

Когда модели получают как Модели проекта, как описано в DO-331 Section MB.1.6.2, архитектура отдельных модулей программного обеспечения может быть определена моделями Simulink и Stateflow, включая секвенирование и взаимодействие различных элементов в моделях. Если модель-ссылка возможность используется, анализатор зависимостей может использоваться для документирования архитектуры программных модулей, которые интегрированы с помощью этой возможности.

Архитектура более высокого уровня того, как Модельно-ориентированное проектирование сгенерированного кода интерфейсы к другому коду в системе, должна определяться отдельно. Это может включать в себя интерфейс к операционной системе в реальном времени (RTOS), последовательность вызовов для кода, сгенерированного из Модельно-ориентированное Проектирование, и интерфейс данных к другим модулям кода.

Разработаны низкоуровневые требования

Если модели определены как Модели проекта, как описано в DO-331 Section MB.1.6.2, то Simulink и Stateflow могут использоваться для разработки требований к низкоуровневому программному обеспечению. Компоненты этих моделей затем будут соответствовать применимым требованиям к программному обеспечению высокого уровня. Модели должны разрабатываться в соответствии со стандартами моделирования, определенными в процессе планирования.

Производные низкоуровневые требования определяются и предоставляются системным процессам

Если модели определены как Модели проекта, как описано в DO-331 Section MB.1.6.2, то любые компоненты Simulink или Stateflow, которые не соответствуют требованиям к программному обеспечению высокого уровня, будут идентифицированы как производные требования. Эти производные требования будут предоставляться в рамках процесса оценки безопасности.

Исходный код разработан

Embedded Coder и Simulink Coder могут использоваться, чтобы сгенерировать исходный код из модели. Исходный код может проследить до компонентов модели с помощью опций комментария. Исходный код может быть сгенерирован в соответствии с MISRA® Стандарты AC AGC: 2007, за некоторыми исключениями, путем соблюдения стандартов моделирования.

Исполняемый объектный код и файлы элемента данных параметра генерируются и загружаются в целевой компьютер

Сгенерированный исходный код может быть скомпилирован, связан, и исполняемый объектный код автоматически загружен на целевой процессор или DSP с помощью возможности PIL Mode Embedded Coder. Если используются элементы данных о параметрах, файлы элементов данных о параметрах должны быть сгенерированы и загружены в DSP целевого процессора.

В качестве альтернативы сгенерированный исходный код может быть скомпилирован и связан с помощью стандартных компиляторов и линкеров. Файл make, который использует компилятор, может быть сгенерирован Embedded Coder или разработан вручную. Затем исполняемый объектный код загружается на целевой компьютер.

Идентифицируются элементы модели спецификации, которые не способствуют реализации или реализации каких-либо требований высокого уровня

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

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

Simulink содержит как виртуальные блоки, так и невиртуальные блоки, как описано в документации. В целом реализация определяется невиртуальными блоками, а не виртуальными блоками. Примеры виртуальных блоков включают блоки DOC, подсистемы, используемые для группирования блоков вместе в модели, и некоторые соединения внутри виртуальных подсистем, такие как входные или выходные порты. Стандарты моделирования для проекта должны определять эти типы виртуальных блоков как не способствующие реализации. Обратите внимание, что некоторые виртуальные блоки, такие как Mux/Demux или Goto/From, определяют потоки данных для программной архитектуры.

Разработайте элементы модели, которые не способствуют реализации или реализации любых низкоуровневых требований, идентифицированы

Simulink содержит как виртуальные блоки, так и невиртуальные блоки, как описано в документации. В целом реализация определяется невиртуальными блоками, а не виртуальными блоками. Примеры виртуальных блоков включают блоки DOC, подсистемы, используемые для группирования блоков вместе в модели, и некоторые соединения внутри виртуальных подсистем, такие как входные или выходные порты. Стандарты моделирования для проекта должны определять эти типы виртуальных блоков как не способствующие реализации. Обратите внимание, что некоторые виртуальные блоки, такие как Mux/Demux или Goto/From, определяют потоки данных для программной архитектуры.