1. DO-331 개요
항공분야 소프트웨어와 관련된 개발 표준으로는 RTCA에서 제정한 DO-178C와 DO-278A가 있다.
항공기에 탑재되는 소프트웨어에 대한 개발 표준은 DO-178C인 반면, 지상용 항공장비에 탑재되는 소프트웨어를 위한 개발 표준은 DO-278A이다.
이 포스팅에서 소개하고자 하는 DO-331은 DO-178C와 DO-278A 규격의 모델 기반 개발 및 검증을 위한 보충 문서이며, 여기서는 DO-178C 규격을 기준으로 설명한다.

DO-331에는 DO-178C를 위한 모델 기반 개발 및 검증을 위해 해결해야 하는 다음 내용이 포함되어 있다.
- 목표(Objectives)
- 활동(Activities)
- 설명 텍스트(Explanatory Text)
- 소프트웨어 라이프 사이클 데이터
DO-178C 및 DO-331 모델 기반 설계 사용자에게 있어 DO-178B의 오래된 문제는, DO-178B 목표를 모델 기반 설계 아티팩트(Artifact)에 매핑(Mapping)할 때의 불확실성이다.
이러한 매핑 문제를 해결하는 것이 모델 기반 설계에 중점을 둔 DO-178C 서브그룹(SG-4)의 주요 목표였다.
단일 매핑으로는 충분하지 않았기에 DO-331에서는 몇 가지 매핑을 추가적으로 제공했다. 일부는 설계와 코드 생성에 사용된 것과는 별개인 사양의 모델 개념을 포함하기도 한다.
또 다른 개념은 코드 생성에 사용되는 상세한 요구사항 역할을 하는 설계 모델이다. 이렇듯 설계, 즉 시스템 및 소프트웨어 설계에 모델을 사용할 수 있고, 모델 외부의 요구사항을 사용하여 개발해야 한다.
소스 코드는 설계 모델에서 직접 생성할 수 있다. 이는 자동 또는 수동으로 가능하다.
이 표준에서 언급한 접근 방식 중 하나는 시스템 설계에 처음 사용한 모델을 가공하여 소프트웨어 설계 및 코드 생성에 재사용하는 것이다. 이 방법은 모델 기반 설계를 사용하는 UAV 시스템 및 소프트웨어 개발자를 위해 ARP 4754와 DO-178C를 매우 자연스럽게 연결한다.
2. 모델 기반 개발 및 검증의 특성

Characteristics of Model-Based Development and Verification
소프트웨어 개발 및 검증 프로세스의 일부로서, 모델은 부분적으로 또는 완전히 소프트웨어 요구사항 또는 아키텍처를 나타낼 수 있다.
모델링 기법에 의해 모델들은 특징지어지고, 소프트웨어 생명주기를 나타내는 데 사용된다.
모델링 기법은 모델링 언어와 모델링 언어를 사용하는 특정 방법의 결합이다. 정확하고 완전한 소프트웨어 수명주기 데이터의 특정 유형을 표현하는 모델 능력은 사용 모델링 기법에 의존한다.
사용 모델링 기술은 유형과 모델에 의해 표현되는 정보의 추상화 수준에 적합해야 한다.
소프트웨어 모델 표준 모델링 기법은 이 기술을 설명하고, 목적에 맞는 방법의 시범을 지원하는 수단이다.
3. 소프트웨어 시험
Software Testing
DO-178C의 6.4절은 변경되지 않았다.
다만 시뮬레이션이 실행 가능한 오브젝트 코드 검증의 일부로 사용되는 경우, 이 섹션 MB.6.8.2는 DO-178C의 6.4절에 추가로 적용된다.
4. 소프트웨어 검증 계획
Software Verification Plan
소프트웨어 검증 계획(SVP)은 검증 절차의 설명과 소프트웨어의 검증 절차 목적을 만족하기 위해 사용되어야 한다.
5. 소프트웨어 코드 표준
Software Code Standards
소프트웨어 코드 표준은 DO-178C의 11.8절을 변경하지 않으며, 해당 절을 그대로 적용한다.
6. 소프트웨어 검증 케이스와 과정
Software Verification Cases and Procedures
소프트웨어 검증 케이스와 과정은 소프트웨어 인증 케이스 및 절차가 어떻게 구현되는지를 설명하는 세부 사항이다.
세부 내용은 다음과 같다.
검토와 분석 과정
검토 또는 분석 방법의 범위와 깊이는 분석 방법 중 소프트웨어 인증 계획에 대한 설명에 추가하여 사용된다.
테스트 케이스
각 테스트 케이스의 목적, 입력, 조건, 예상된 결과는 테스트 커버리지와 통과 또는 실패의 기준이 된다.
테스트 절차
단계별 명령을 통해 각 테스트 케이스가 어떻게 실행되는지, 어떻게 평가되는지, 테스트 환경이 어떻게 사용되는지 확인한다.
시뮬레이션 케이스
시뮬레이션 케이스의 목적은 입력, 조건, 결과 값 기대, 그리고 통과 또는 실패의 기준이 된다.
시뮬레이션 과정
단계별 명령을 통해 시뮬레이션 케이스가 어떻게 실행되는지, 시뮬레이션 결과가 어떻게 평가되는지, 어떤 환경에서 사용되는지 확인한다.
7. 소프트웨어 검증 결과
Software Verification Results
소프트웨어 검증 결과는 소프트웨어 검증 절차 진행을 통해 만들어진다.
소프트웨어 검증 결과는 다음 내용을 만족해야 한다.
- 각각의 검토, 분석, 시뮬레이션, 테스트는 수행 과정 동안의 성공 또는 실패 과정과 최종 성공 또는 실패 결과를 나타낸다.
- 분석, 시뮬레이션 또는 시험 평가 구성 항목, 모델, 소프트웨어 버전을 확인한다.
- 높은 수준의 요구사항, 낮은 수준의 요구사항 또는 소프트웨어 구조를 나타내는 모델을 이용한다면, 모델의 구성이 확인되어야 한다.
- 테스트 결과, 시뮬레이션, 검토, 분석, 커버리지 분석, 추적 분석 결과는 시뮬레이션을 지원하여 포함한다.
- 발견되는 불일치 문제를 기록하고, 문제 보고를 통해 추적한다.
- 또한 증명은 소프트웨어 검증 결과를 고려하는 소프트웨어 프로세스에 의해 공급된 시스템 프로세스를 평가하고 제공한다.
8. 소프트웨어 모델 표준
Software Model Standards
소프트웨어 모델 표준은 각각의 모델 타입에 따른 모델링 기법에 의해 정의된다.
모델링 기법에 대한 포함 사항은 다음과 같다.
- 모델을 개발하기 위해 사용되는 메소드와 도구
- 모델링에 사용하는 언어
- 모델 소프트웨어 생명주기 데이터의 종류에 대하여 문맥 구분과 의미를 정의하는 데이터
- 모델링 언어 일부 기능에 대한 사용 제한
- 모델링 언어와 툴 사용을 위한 스타일 설명 지침 및 복잡도 제한
- 명명 규칙, 다이어그램 레이아웃, 허용 요소, 중첩 레벨의 최대 수, 각 다이어그램 모델 요소의 최대 수, 레이어 구조의 최대 수 등
- 모델링 툴과 모델 요소 라이브러리 사용 제한
- 요구사항과 기타 생명주기 간의 추적을 설정하기 위한 방법
- 모델의 요구사항 범위를 설명하기 위해 사용하는 방법
- 시스템 안정성 평가 방법을 포함하여, 시스템 프로세스에서 파생된 요구사항을 제공하기 위한 방법
- 파생된 요구사항을 확인하고 분리하는 데 사용할 수 있는 방법
- 시스템 안정성 평가 처리를 포함하여, 시스템 프로세스에서 파생된 요구사항을 제공하고 그 모델에서 파생된 요구사항의 정의와 확인을 위해 사용하는 방법
- 구체적 모델 또는 디자인 모델에 의해 표현되는 정보 유형에 대한 기술 적합성의 이론적 근거
9. 툴 인증 요구

Tool Qualification is Needed
이 문서의 프로세스는 제거, 감소 또는 섹션 MB.6에 지정된 것으로 확인되는 출력 없는 소프트웨어 툴을 사용함으로써 자동화될 때 툴의 자격이 필요하다.
툴의 인증 절차의 목적은 도구가 제공하는 프로세스의 제거, 감소 또는 자동화된 프로세스의 공급이 적어도 동등한 신뢰성을 제공한다는 것을 보장하는 것이다.
툴 인증 절차는 단일 툴, 툴 내의 도구, 또는 하나 이상의 기능 집합에 적용할 수 있다.
툴의 다양한 기능을 위해 툴의 기능 보호를 입증할 수 있다면, 오직 그 기능들은 제거, 감소, 자동화된 소프트웨어의 생명주기 과정과 검증되지 않은 결과에 대해 자격이 필요하다.
보호는 도구 기능이 또 다른 도구의 기능에 악영향을 줄 수 없도록 안전한 메커니즘을 사용한다.
툴은 도구를 사용하는 의도가 시스템을 지원하는 인증의 소프트웨어 측면에 대한 계획에 언급된 특정 시스템에서 사용하기 위해 자격이 부여된다.
이전 시스템에서 규정한 툴이 다른 시스템에서 사용하기 위해 제안되는 경우, 다른 시스템의 맥락에서 재규정한다.
10. 툴 자격수준 결정
Determining the Tool Qualification Level
DO-178C의 12.2.2절을 적용한다.
11. 툴 검증 과정
Tool Qualification Process
DO-178C의 12.2.3절을 적용한다.
문의 및 기술 협력
- 홈페이지: https://moasoftware004.mycafe24.com/
- 대표 문의: 02-6945-2156
