자동화된 항공기 조종석 디스플레이 테스트를 위한 CDST 툴킷
초록
본 논문은 항공기 조종석 디스플레이 시스템(CDS)의 올바른 표시 여부를 자동으로 검증하기 위한 CDST 툴킷을 제안한다. XML 기반 CDS 모델, UML 상태머신, OCL 제약조건을 입력으로 받아 테스트 경로와 스크립트를 생성하고, 시뮬레이터(JSBSim)에서 실행한다. 화면 캡처를 OCR로 분석해 추출된 데이터를 OCL 제약과 비교해 결함을 탐지하며, 보고서를 자동 생성한다. 산업 파트너와의 사례 연구에서 3개의 버그를 발견하였다.
상세 분석
CDST 툴킷은 전통적인 수동 테스트가 갖는 반복성 부족·인적 오류·높은 인건비 문제를 모델 기반 자동화로 해결한다는 점에서 의미가 크다. 입력으로 사용되는 세 가지 아티팩트—VAPS XT 혹은 SCADE에서 추출한 CDS XML, 항공기 비행 상태를 표현한 UML 상태머신, 그리고 위젯 값 범위를 정의한 OCL 제약조건—은 각각 도메인 전문가와 소프트웨어 엔지니어가 기존에 보유하고 있는 자료를 그대로 활용한다는 장점이 있다. 특히 OCL을 테스트 오라클로 채택함으로써, 복잡한 수치·논리 관계를 정형화된 언어로 기술하고 자동 검증이 가능하도록 설계했다.
아키텍처는 일곱 개 모듈로 구성된다. ① CDS Model Generator는 XML‑to‑UML 매핑 파일을 통해 EMF 기반의 메타모델 인스턴스를 생성한다. 매핑 파일을 이용해 설계 도구와 프로파일 간 네이밍 충돌을 해결하는 점이 실용적이다. ② Comparator는 Data Extractor, Instance Model Populator, Constraints Evaluator, Reporting Module을 포함해 전체 평가 파이프라인을 담당한다. 여기서 Data Extractor는 OpenCV와 Tesseract OCR을 이용해 화면 캡처에서 위젯 영역을 추출하고 텍스트를 인식한다. OCR 정확도는 위젯의 폰트·해상도에 크게 좌우되므로, 실제 적용 시 사전 캘리브레이션이 필요하다. ③ Reporting Module은 실패한 OCL 제약과 해당 시나리오를 정리해 테스트 엔지니어가 빠르게 원인 분석을 할 수 있게 한다.
OCL 제약을 손쉽게 작성하도록 돕는 CDS Constraint Specifier는 UML 모델에서 클래스·속성·상태 정보를 자동 추출하고, UI 위젯을 통해 연산자를 제한한다. 이는 항공 전자 분야에서 OCL에 익숙하지 않은 엔지니어들의 진입 장벽을 낮춘다. 테스트 경로 생성은 N+ 전략을 적용해 상태 머신을 평탄화하고 라운드‑트립 커버리지를 확보한다. 사이클이 있는 경우 한 번만 반복하도록 제한함으로써 테스트 폭발을 방지한다. 생성된 경로는 JSBSim용 스크립트로 변환돼 Test Execution Module에서 실행된다.
시뮬레이션 중 화면 기록은 두 가지 방식(외부 카메라·스크린샷)으로 지원되며, 각 비행 상태별로 시간 구간을 지정할 수 있다. 이는 하드웨어‑인‑더‑루프(HIL)와 소프트웨어‑인‑더‑루프(SIL) 모두에 적용 가능하도록 설계된 점이 눈에 띈다. 실험 결과, 전체 파이프라인(경로 생성 → 스크립트 실행 → 이미지 캡처 → OCR → OCL 평가 → 보고서) 평균 소요 시간이 수십 초 수준으로, 수작업 대비 10배 이상 효율성을 향상시켰다. 또한 3개의 실제 버그(위젯 위치 오인식, 범위 초과 표시, 상태 전이 누락)를 발견해 산업 파트너에게 전달하였다.
하지만 몇 가지 한계도 존재한다. OCR 의존성으로 인해 저해상도·다중 언어 화면에서 정확도가 떨어질 수 있다. 또한 OCL 제약의 표현력은 기본적인 관계·논리 연산에 국한되며, 복잡한 시계열·물리적 제약을 다루기엔 추가 확장이 필요하다. 현재 툴킷은 VAPS XT·SCADE와 JSBSim에 종속적이므로, 다른 설계·시뮬레이션 환경으로의 포팅에는 추가 작업이 요구된다. 향후 연구에서는 딥러닝 기반 이미지 인식 도입, 시계열 분석을 위한 모델 체크, 그리고 클라우드 기반 대규모 테스트 실행을 목표로 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기