콘텐츠로 건너뛰기
Home » ARP4754, DO-178C 항공 산업 규정 준수를 위한 검증 도구 LDRA

ARP4754, DO-178C 항공 산업 규정 준수를 위한 검증 도구 LDRA

항공기와 디지털 검증 화면으로 표현한 ARP4754 및 DO-178C 항공 소프트웨어 검증 개념도

항공기와 항공전자 시스템은 높은 수준의 안전성과 신뢰성이 요구되는 분야입니다. 특히 비행제어, 항법, 통신 등 안전과 관련된 시스템에서는 소프트웨어의 작은 결함도 중요한 영향을 미칠 수 있습니다.

이러한 항공 시스템의 개발과 검증에 활용되는 대표적인 산업 지침 및 표준이 ARP4754와 DO-178C입니다.

ARP4754는 항공기 및 시스템 수준의 개발 보증을 다루며, DO-178C는 항공기에 탑재되는 소프트웨어의 개발 보증과 검증 활동을 다룹니다.

두 문서는 서로 다른 개발 영역을 대상으로 하지만, 항공 시스템의 안전성과 개발 보증을 체계적으로 확보하기 위해 연계하여 활용됩니다.

이번 글에서는 ARP4754와 DO-178C의 차이, DAL 등급, 소프트웨어 검증 절차 및 LDRA를 활용한 정적·동적 분석과 코드 커버리지 측정 방법을 살펴보겠습니다.

ARP4754란? 항공기 및 시스템 개발 보증 지침

ARP4754(Guidelines for Development of Civil Aircraft and Systems)는 SAE International에서 발행한 민간 항공기 및 시스템 개발 지침입니다.

항공기와 항공 시스템의 개발 과정에서 안전성과 신뢰성을 확보하기 위한 개발 보증 활동을 다룹니다.

ARP4754는 시스템 요구사항 정의, 아키텍처 설계, 요구사항 검증과 설계 구현의 확인 등 항공기 및 시스템 개발 전반에 걸친 활동을 지원합니다.

2023년 12월에는 ARP4754B가 발행되었습니다. 기존 ARP4754A와 함께 적용 프로젝트의 인증 기준과 규제기관의 지침을 확인하는 것이 중요합니다.

ARP4754의 주요 개발 보증 활동

ARP4754의 핵심 활동은 다음과 같이 정리할 수 있습니다.

1. 시스템 요구사항 정의

항공기 및 시스템의 기능과 안전 요구사항을 정의하고, 상위 요구사항이 하위 시스템에 적절하게 반영되도록 관리합니다.

2. 시스템 아키텍처 설계

시스템 구성 요소와 기능 간 관계를 정의하고, 항공기 기능이 각 시스템 및 구성품에 적절하게 할당되었는지 검토합니다.

3. 요구사항 타당성 확인(Validation)

정의된 요구사항이 의도된 항공기 기능과 운용 요구를 적절히 반영하는지 확인합니다.

4. 설계 구현 검증(Verification)

시스템 설계와 구현 결과가 정의된 요구사항을 충족하는지 확인합니다.

5. 개발 보증 및 추적성 관리

요구사항, 설계, 검증 결과 간의 연결 관계를 관리하고 개발 보증 활동의 증적을 확보합니다.

이러한 활동을 통해 항공기 및 시스템 수준의 개발 프로세스를 체계적으로 관리할 수 있습니다.

ARP4754 DAL 등급이란?

ARP4754 항공기 시스템 개발 보증 DAL A부터 E까지의 등급과 안전 영향 비교
그림 1. ARP4754 DAL A~E 등급별 개발 보증 수준과 안전 영향

DAL(Development Assurance Level)은 항공기 시스템과 소프트웨어의 개발 보증 활동에 적용되는 엄격성 수준을 나타냅니다.

DAL은 항공기 기능의 고장 조건에 따른 안전성 영향 등을 고려하여 개발 보증 활동의 수준을 결정하는 데 활용됩니다.

일반적으로 A부터 E까지 구분하며, Level A가 가장 높은 개발 보증 수준에 해당합니다.

DAL A~E 등급별 특징

DAL 등급관련 고장 조건의 심각도개발 보증 수준
DAL ACatastrophic(재앙적)가장 엄격한 개발 보증 활동
DAL BHazardous(위험)매우 높은 수준의 개발 보증 활동
DAL CMajor(중대)높은 수준의 개발 보증 활동
DAL DMinor(경미)상대적으로 낮은 수준의 개발 보증 활동
DAL ENo Safety Effect(안전 영향 없음)안전 영향에 따른 개발 보증 요구가 가장 낮음

DAL 등급은 단순히 소프트웨어의 복잡도에 따라 결정되는 것이 아닙니다. 해당 기능의 실패가 항공기와 탑승자 등의 안전에 미치는 영향을 고려해야 합니다.

또한 시스템 수준의 개발 보증 수준과 소프트웨어 수준의 적용 등급은 각각의 할당 과정과 요구사항을 구분하여 검토해야 합니다.

ARP4754와 ARP4761의 관계

ARP4754 항공기 시스템 개발 보증과 ARP4761 안전성 평가 관련 표준 및 인증 체계
그림 2. ARP4754와 ARP4761의 항공 시스템 개발 및 안전성 평가 관련 체계

ARP4754와 함께 자주 언급되는 항공우주 산업 지침이 ARP4761입니다.

두 문서는 서로 밀접하게 연관되지만 주요 목적에 차이가 있습니다.

ARP4754는 항공기 및 시스템 개발 보증을 중심으로 다루며, ARP4761은 항공기 시스템의 안전성 평가 방법과 절차를 다룹니다.

구분ARP4754ARP4761
주요 목적항공기 및 시스템 개발 보증항공기 및 시스템 안전성 평가
주요 활동요구사항, 아키텍처, 검증 및 타당성 확인위험 분석 및 안전성 평가
주요 활용개발 프로세스 관리시스템 위험 식별 및 평가

항공기 시스템 개발에서는 안전성 평가 결과가 개발 보증 활동에 반영되므로 두 문서를 연계하여 이해하는 것이 중요합니다.

DO-178C란? 항공 소프트웨어 개발 보증 표준

DO-178C(Software Considerations in Airborne Systems and Equipment Certification)는 항공기에 탑재되는 소프트웨어의 개발 보증 및 인증 관련 활동을 다루는 문서입니다.

RTCA에서 발행한 DO-178C는 소프트웨어 개발 수명주기 전반에 걸쳐 계획, 개발, 검증, 구성 관리 및 품질 보증 활동과 관련된 목표를 정의합니다.

DO-178C의 중요한 특징은 특정 개발 방법만을 강제하기보다는 적용되는 소프트웨어 수준에 따른 목표와 검증 증적을 중요하게 다룬다는 점입니다.

DO-178C 소프트웨어 개발 및 검증 프로세스

DO-178C와 관련된 주요 활동은 다음과 같습니다.

  • 소프트웨어 개발 및 검증 계획 수립
  • 상위 수준 요구사항 정의
  • 하위 수준 요구사항과 소프트웨어 설계
  • 소스코드 구현
  • 소프트웨어 검토 및 분석
  • 요구사항 기반 테스트
  • 구조적 코드 커버리지 분석
  • 구성 관리 및 품질 보증
  • 인증 관련 데이터 및 산출물 관리

이러한 활동을 통해 소프트웨어가 할당된 요구사항을 충족하는지 확인하고, 필요한 검증 증적을 확보할 수 있습니다.

ARP4754와 DO-178C의 차이점

ARP4754와 DO-178C는 모두 항공 시스템의 안전과 관련된 개발 보증을 지원하지만 적용 범위가 다릅니다.

구분ARP4754DO-178C
적용 대상항공기 및 시스템항공기 탑재 소프트웨어
주요 목적시스템 개발 보증소프트웨어 개발 보증
주요 활동시스템 요구사항, 아키텍처, 검증 및 타당성 확인소프트웨어 요구사항, 구현, 검증 및 보증
개발 수준항공기·시스템 수준소프트웨어 수준
주요 산출물시스템 개발 및 검증 증적소프트웨어 개발·검증 및 보증 증적

ARP4754는 상위 시스템 개발 보증의 틀을 제공하고, DO-178C는 소프트웨어 수준에서 필요한 검증 활동과 보증 목표를 다룹니다.

따라서 항공기 시스템 개발 조직에서는 두 문서의 역할을 명확히 이해하고, 상위 시스템 요구사항과 소프트웨어 검증 결과가 연결되도록 관리하는 것이 중요합니다.

DO-178C 준수를 위한 소프트웨어 검증 활동

DO-178C 기반 소프트웨어 개발에서는 요구사항이 올바르게 구현되었는지 확인하고, 해당 소프트웨어 수준에서 요구되는 검증 목표를 충족하는 것이 중요합니다.

이를 위해 정적 분석, 동적 테스트, 구조적 커버리지 분석 및 요구사항 추적성 관리 등을 수행할 수 있습니다.

1. 정적 코드 분석(Static Code Analysis)

정적 코드 분석은 소스코드를 실행하지 않고 분석하여 코드 품질 문제와 잠재적인 결함을 식별하는 방법입니다.

주요 검토 항목에는 코딩 규칙 준수, 코드 복잡도, 데이터 흐름 및 제어 흐름 관련 문제가 포함될 수 있습니다.

정적 분석은 개발 단계에서 코드상의 문제를 조기에 식별하고 검토 활동을 지원하는 데 활용됩니다.

2. 동적 테스트(Dynamic Testing)

동적 테스트는 실제 프로그램을 실행하여 소프트웨어가 정의된 요구사항에 따라 동작하는지 확인하는 방법입니다.

항공 소프트웨어 검증에서는 단위 수준의 테스트부터 통합 테스트까지 다양한 검증 활동을 수행합니다.

특히 실제 타깃 환경에서의 테스트는 소프트웨어 실행 환경을 고려한 검증에 도움이 됩니다.

3. 구조적 코드 커버리지(Structural Coverage)

구조적 커버리지는 요구사항 기반 테스트를 실행하는 과정에서 소스코드의 구조가 얼마나 실행되었는지 분석하는 활동입니다.

대표적인 커버리지 유형은 다음과 같습니다.

  • Statement Coverage: 실행 가능한 구문이 테스트되었는지 확인
  • Decision Coverage: 의사결정 결과가 적절하게 테스트되었는지 확인
  • MC/DC: 개별 조건이 의사결정 결과에 독립적으로 영향을 미치는지 확인

DO-178C에서는 적용되는 소프트웨어 수준에 따라 구조적 커버리지 분석의 요구가 달라집니다.

소프트웨어 수준대표적인 구조적 커버리지 목표
Level AStatement, Decision, MC/DC
Level BStatement, Decision
Level CStatement
Level D·E위와 동일한 구조적 커버리지 목표가 일률적으로 적용되지 않음

구조적 커버리지는 단순한 측정 수치뿐 아니라 실행되지 않은 코드와 불충분하게 검증된 부분에 대한 분석이 중요합니다.

4. 요구사항 추적성 관리

요구사항 추적성은 상위 및 하위 소프트웨어 요구사항과 소스코드, 테스트 케이스, 검증 결과 사이의 연결 관계를 관리하는 활동입니다.

추적성을 확보하면 요구사항이 적절하게 구현되었는지 확인하고 검증 누락이나 변경 영향 등을 분석하는 데 도움이 됩니다.

LDRA를 활용한 DO-178C 소프트웨어 검증 방법

LDRA는 항공 소프트웨어 개발 과정에서 정적 분석, 동적 테스트, 요구사항 추적성 및 코드 커버리지 분석을 지원하는 검증 솔루션입니다.

LDRA Tool Suite는 다양한 소프트웨어 검증 활동을 통합하여 테스트와 분석 결과를 관리하고 필요한 검증 증적을 확보하는 데 활용할 수 있습니다.

LDRA 정적 분석

LDRA의 정적 분석 기능을 활용하면 소스코드의 구조, 코딩 규칙 준수 여부 및 잠재적인 코드 품질 문제를 분석할 수 있습니다.

이를 통해 소스코드 검토 활동을 지원하고, 개발 과정에서 발견된 문제를 체계적으로 개선하는 데 도움이 됩니다.

LDRA 단위 테스트 및 동적 분석

LDRA는 소프트웨어 단위 테스트와 동적 분석을 지원합니다.

요구사항 기반 테스트를 수행하고 테스트 결과를 분석하여 소프트웨어가 의도한 기능을 수행하는지 검증할 수 있습니다.

타깃 환경에서의 테스트 기능도 프로젝트의 검증 전략에 따라 활용할 수 있습니다.

LDRA MC/DC 및 코드 커버리지 분석

LDRA는 Statement, Decision, MC/DC 등 다양한 구조적 커버리지 분석을 지원합니다.

특히 높은 수준의 개발 보증이 필요한 항공 소프트웨어에서 테스트의 구조적 실행 범위를 확인하고, 미실행 코드에 대한 추가 검토를 수행하는 데 활용할 수 있습니다.

LDRA 요구사항 추적성 및 검증 결과 관리

LDRA는 요구사항과 테스트 및 분석 결과를 연결하여 검증 활동의 추적성을 높이는 데 활용할 수 있습니다.

이러한 기능은 테스트 누락 여부 확인, 변경 영향 분석 및 검증 결과 관리에 도움이 됩니다.

LDRA TBjustify를 통한 커버리지 근거 관리

LDRA의 TBjustify는 구조적 커버리지 분석 결과에 대한 근거와 관련 정보를 관리하는 데 활용할 수 있는 기능입니다.

프로젝트에서 구조적 커버리지 목표를 달성하지 못한 항목이나 추가 설명이 필요한 부분을 체계적으로 검토하고 문서화하는 데 도움이 됩니다.

다만 LDRA 도구를 사용한다고 해서 DO-178C의 모든 검증 목표가 자동으로 충족되거나 항공 소프트웨어 인증이 보장되는 것은 아닙니다.

실제 프로젝트에서는 적용되는 소프트웨어 수준, 검증 계획, 도구 적격성 평가 필요성 및 인증기관과 합의한 접근 방식을 함께 고려해야 합니다.

ARP4754·DO-178C 검증 체크리스트

항공기 및 항공 소프트웨어 개발에서 관련 지침과 표준을 적용할 때 다음 항목을 점검할 수 있습니다.

  1. 시스템 안전성 평가 결과와 개발 보증 수준을 확인했는가?
  2. 시스템 및 소프트웨어 요구사항을 명확히 정의했는가?
  3. 적용되는 DO-178C 소프트웨어 수준을 확인했는가?
  4. 요구사항, 설계, 코드 및 테스트 결과의 추적성을 확보했는가?
  5. 정적 분석 및 필요한 코드 검토를 수행했는가?
  6. 요구사항 기반 테스트를 수행했는가?
  7. 해당 수준에 요구되는 구조적 커버리지를 분석했는가?
  8. 미실행 코드와 미충족 검증 항목에 대한 근거를 관리했는가?
  9. 구성 관리 및 품질 보증 관련 산출물을 관리했는가?
  10. 필요한 경우 검증 도구의 적격성 평가를 수행했는가?

이러한 활동을 체계적으로 관리하면 항공 소프트웨어의 개발 보증 및 인증 대응에 필요한 검증 증적을 확보하는 데 도움이 됩니다.

FAQ

Q1. ARP4754와 DO-178C의 가장 큰 차이는 무엇인가요?

ARP4754는 항공기와 시스템 수준의 개발 보증을 다루며, DO-178C는 항공기 탑재 소프트웨어의 개발 보증과 검증 활동을 다룹니다.

Q2. ARP4754에서 DAL A~E는 무엇을 의미하나요?

DAL은 개발 보증 수준을 의미하며, 항공기 기능의 고장 조건과 안전성 영향을 고려해 적용되는 개발 보증 활동의 엄격성을 구분합니다. Level A가 가장 엄격한 수준입니다.

Q3. DO-178C에서 MC/DC는 왜 중요한가요?

MC/DC는 각 조건이 의사결정 결과에 독립적으로 영향을 미치는지 확인하는 구조적 커버리지 기준입니다. DO-178C의 Level A 소프트웨어에서 중요한 검증 목표 중 하나입니다.

Q4. LDRA는 DO-178C 인증을 자동으로 보장하나요?

아닙니다. LDRA는 DO-178C 관련 검증 활동을 지원하지만, 인증 결과는 프로젝트의 전체 개발 보증 프로세스와 검증 증적 및 규제기관의 판단에 따라 달라집니다.

Q5. DO-178C 소프트웨어 검증에는 어떤 도구가 필요한가요?

정적 코드 분석, 요구사항 추적성 관리, 단위 테스트 및 구조적 커버리지 분석 등을 지원하는 도구를 활용할 수 있습니다. 필요한 도구 구성은 프로젝트의 검증 목표와 개발 환경에 따라 달라집니다.

결론: ARP4754·DO-178C 준수를 위한 체계적인 항공 SW 검증

ARP4754와 DO-178C는 항공기 시스템 및 소프트웨어의 개발 보증과 검증 활동을 체계적으로 수행하는 데 중요한 역할을 합니다.

ARP4754는 항공기와 시스템 수준의 요구사항 및 개발 보증 활동을 다루고, DO-178C는 항공기 탑재 소프트웨어의 개발과 검증 목표를 정의합니다.

특히 정적 코드 분석, 동적 테스트, 구조적 코드 커버리지 분석 및 요구사항 추적성 관리는 항공 소프트웨어의 검증 증적 확보에 중요한 활동입니다.

LDRA는 이러한 항공 소프트웨어 검증 활동을 지원하여 개발 과정의 추적성과 검증 효율성을 높이는 데 활용할 수 있습니다.

모아소프트는 LDRA 솔루션 공급과 교육 및 기술 지원을 통해 항공 소프트웨어 검증 환경 구축을 지원합니다.

LDRA 솔루션 및 기술 문의

Send us a message!

앞선 품질, 끊임없는 도전, 정직한 기술로 함께합니다.
문의 글을 작성해 주시면, 담당자 확인 후 빠르게 연락드립니다.

대표전화: (+82)02-420-3203

FAX: (+82)02-407-3511

05770 서울특별시 송파구 오금로 422, 연암빌딩 4F~6F




FAMILY SITE

advanced-floating-content-close-btn