페이퍼요약 - 복잡한 항공 시스템을 위한 포괄적 밸리데이션 플랫폼 by Favarcq
제목: 복잡한 항공 시스템을 위한 포괄적 밸리데이션 플랫폼(Comprehensive Validation Platform for Complex Aircraft Avionics Systems)
저자: Nicolas Favarcq 외 3인, 프랑스
문서유형: 컨퍼런스 페이퍼(총 5페이지), 2013년
항공전자 시스템 개발의 밸리데이션 전략(특히 가상 테스트와 하드웨어인더루프 테스트)에 대하여 기술하고, 이 두 가지 테스트를 모두 지원하는 플랫폼을 제안한 자료
항공전자의 통합, 확인, 검증 프로세스(Avionics IVV Process)
항공기나 어뢰 같은 복잡한 시스템을 위한 전형적인 밸리데이션 단계가 아래와 같다.
① 장비 레벨 테스팅(Equipment level testing): 임베디드 컴퓨터가 테스트 벤치에 통합된다. 입력이 시뮬레이션되고 계산기(calculator)의 내부 패러미터가 전용 디버그 링크를 통해 실시간으로 모니터된다.
② 시스템 레벨 테스팅(System level testing): 여러 컴퓨터간의 상호작용이 운영 환경에서 테스트 된다. 이 테스트는 구동기와 감지기 같은 실제 컴포넌트를 포함한 모형(a mock up) 상에서 수행될 수 있다. 아이언 버드(iron birds)와 비행 시뮬레이터(flight simulators)가 이런 종류 플랫폼의 예이다.
③ 첫 프로토타입 상의 테스트(Test on first prototype): 많은 테스트 계측(instrumentation)을 수반하고 첫 프로토타입 상에서 테스트. 예, 비행 테스트(flight tests)
도구와 시뮬레이션 플랫폼이 IVV 활동에 크게 영향을 준다. 이것들이 가능하면 개발 초기 단계에 최대한 많은 테스트를 수행할 수 있도록 설계되어야 하며 아래의 주요 기능을 가져야 한다.
- 테스트 대상 시스템의 누락된 컴포넌트를 시뮬레이션 한다. 예, 항공기 시스템을 위해서는 초기 모형에서 관성 항법 시스템(the inertial navigation system)이 대개 6 자유도 시스템 시뮬레이션(a six degrees of freedom system simulation)에 의해 대체됨
- 다양한 컴포넌트 간의 통신을 염탐하고 기록한다.
- 전용 디버그 링크를 통해 내부 계산기의 패러미터를 염탐하고 기록한다.
IVV 도구를 개발 사이클의 초기 단계에 사용 가능하게 하기 위해서는 이 도구들이 가상 테스팅 기법을 가지고 완성되어야 한다. 가상 테스팅(virtual testing)은 임베디드 항공기 컴퓨터를 동등한 시뮬레이션 대체품으로 대신한다. 이 시뮬레이션된 장비는 재호스팅된(rehosted) 임베디드 코드나 또는 시뮬레이션 목적을 위해 전용 구현된 제어 로직에 기반할 수 있다. 이런 구성에서 항공기 행동은 종종 항공기 제조업자가 제공하는 행동 모델(a behavior-model)에 의해 시뮬레이션 된다.
시스템 예
- 두 개의 항공 컴퓨터 {A, B}가 물리적 시스템 S를 두 개 감지기 {s1; s2}와 한 개 구동기 {a1}로 제어함. 구동기 명령어와 감지기 데이터가 1ms 주기로 새롭게(refresh) 됨을 가정
- 컴퓨터 A는 로컬 프로세싱 입/출력 노드이다. 그 내부 루프가 1ms 주기로 실행되고 주기적인 데이터 프레임을 매 20ms 마다 B에게 전송한다(MAàB). 컴퓨터 B는 리모트 컨트롤러이고 그 내부 루프가 20ms 주기로 실행된다.
- 실제 항공 시스템에서 모든 컴포넌트가 완전히 비동기로 실행된다(즉, 컴퓨터 A와 컴퓨터 B의 클락이 동기화되지 않음). 따라서 감지기와 구동기 명령어의 샘플링이 A 사이클과는 관련 있지만 B 사이클과는 관련 없다.
- 메시지 MAàB는 컴퓨터 사이클과 동기화된다(즉, A 컴퓨터의 매 20 사이클마다 메시지가 전송됨). 컴퓨터 B가 그 내부 프로세싱을 위해 A로부터 가장 최근 수신한 메시지 MAàB를 사용한다.
[그림 3. 시스템 예]
가상 테스트 접근방법(Virtual test approach)
- 가상 테스트는 개발의 매우 이른 단계에 순수 시뮬레이션 모델을 가지고 시스템을 테스팅 한다(위 예의 A, B, S 컴포넌트가 시뮬레이션 된다는 의미). S 시스템 시뮬레이션은 주로 Matlab이나 LMS 같은 모델링 도구로 구축되지만, C 언어 같은 더 전통적인 프로그래밍 언어로 작성될 수도 있다.
- 구축된 시뮬레이션 모델은 모든 모델 실행의 스케쥴링을 책임지고 이들 간의 데이터 교환을 지원하는 시뮬레이션 플랫폼에 통합됨(시스템 레벨 테스팅을 수행하는 것이 목적)
- 가상 테스트 플랫폼의 실행 스케쥴러는 행동결정론(behavior-determinism)에 집중하며 시간결정론(time-determinism)은 고려하지 않는다. 즉, 시뮬레이션이 여러 번 실행될 때 정확히 같은 결과를 생성해야만 한다.
- 이렇게 동일한 결과를 얻기 위해서는 시뮬레이션의 일부인 여러 다른 모델들의 실행 순서를 시뮬레이션 플랫폼에서 정확하게 기술하는데 주의를 기울여야 함. 시뮬레이션 행동은 종종 HLA(High Level Architecture) 같은 프레임워크로 기술된다.
[그림 4. 모델 동기화]
- 일반적으로 시간 해상도(time resolution)는 임베디드 컴퓨터의 가장 낮은 내부 루프 사이클에서 선정된다(위 예의 경우 1ms). A 와 B 간의 비동기성을 나타내기 위해 고정 오프셋(a fix offset)이 사용됨. 위 그림에서 B 사이클 시작과 B 컴퓨터에 의한 MAàB 메시지 생성 간의 고정 Δt
- 순수 가상 테스트 시스템에서 시간결정론(time-determinism)은 이슈가 아니다(이 단계에서는 물리적 하드웨어와의 연결이 없으므로). 여기서 유일한 시간 제약은 테스트 캠페인(test campaign)을 최적화하기 위해 최대한 빨리 실행되어야 한다는 것이다.
- 시간은 스케쥴러에 의해 완전히 시뮬레이션 된다(시뮬레이션 시간이 실제 시간과 동기화되지 않음). 이는 각 모델의 실제 실행 시간에 신경 쓰지 않도록 허용. 즉, 실행에 소요되는 실제 시간 양에 상관없이 이전 것이 완료되었을 때 다음 시뮬레이션 단계가 실행된다.
하드웨어인더루프 테스트 접근방법(Hardware in the loop test approach)
- 하드웨어인더루프 테스트는 실제 컴포넌트를 시뮬레이션된 환경에 통합하며, 순수 가상 테스트에 비해 테스트 대표성(test representativeness) 수준을 증가시키는데 목적이 있음
- 아래 그림처럼 항공기 컴퓨터 A는 실제이고 컴퓨터 B가 시뮬레이션 된 것으로 가정. 이 테스트 플랫폼은 적어도 아래 기능들을 제공해야 한다.
- 모델 B 와 S를 스케쥴한다.
- 모델 B와 S의 입력과 출력을 컴퓨터 A가 송수신하는 실제 신호와 인터페이스 한다.
- 각 컴포넌트 간의 통신을 염탐(spy)하고 기록(log) 한다.
- 실제 컴포넌트로 유틸리티(파워 공급, 냉각 등)를 제공한다.
[그림 5. 하드웨어인더루프 테스트 플랫폼]
컴퓨터 A가 실제이므로 시뮬레이션 플랫폼이 그 실행 시간을 제어할 수 없으며, 이는 아래 두 가지 결과를 낳는다.
- 컴퓨터 A에서의 알고리즘 실행 속도와 일관성을 보장하기 위해 시뮬레이션 플랫폼이 반드시 하드리얼타임 제약을 가지고 모델 B와 S를 실행시켜야 하며, 이 제약은 시뮬레이션 플랫폼 아키텍쳐에 아래와 같은 중요한 영향을 끼친다.
- 실시간 패치를 가진 VxWorks, LynxOS, Linux 같은 전용 운영 체제상에서 돌아가야 함
- 모델 실행 시간을 상대방 실제 컴포넌트의 실행 사이클(컴퓨터 A의 경우 1ms)에 반드시 맞추어야 함. 이 두 번째 사항은 충족시키기가 극도로 어려울 수 있고 광대한 프로세싱 파워를 갖출 것을 요구할 수도 있음 - 행동결정론(behavior-determinism)이 더 이상 달성 가능하지 않다. 컴퓨터 A와 시뮬레이션 플랫폼 클락이 (실제 항공 시스템에서 그런 것처럼) 연결되어 있지 않음. 컴퓨터 B를 시뮬레이션하는 시뮬레이션 플랫폼 알고리즘과 실제 컴퓨터 알고리즘이 비동기로 실행되고, 그 영향으로 B 사이클 시작과 B 컴퓨터에 의한 MAàB 메시지 생성 간의 시간 Δt가 더 이상 고정이 아니다(그림 4 참조). 즉, 동일한 테스트가 두 번 실행될 때 그 결과가 정확히 동일하지 않을 수 있다.
가상 테스트 플랫폼 vs. 물리적 테스트 플랫폼
- 위에서 본 것처럼 가상 테스트 플랫폼과 물리적 테스트 플랫폼이 다른 타겟을 가진다. 가상 테스트는 결정론적 동작과 관측성(Deterministic behavior and observability)을 가지며, 하드웨어인더루프 물리적 플랫폼에서는 실시간 제약이 있지만 본질적인 비결정론도 존재한다.
- 이런 차이점 때문에 이 두 가지 테스트를 위해 종종 다른 도구가 선정되고 IVV 프로세스에 분열이 생긴다(즉, 가상 테스트에서 사용된 테스트 스크립트와 시뮬레이션 같은 컴포넌트를 물리적 테스트에서 재사용 하는 것이 극히 어려움).
- 이에 대한 솔루션으로 업체 Cassidian Test & Services(EADS)는 U-TEST라는 이름의 기존 하드웨어인더루프 프레임워크를 결정론적 가상 테스트를 실행할 수 있도록 개선함. 즉, 본 논문에서 가상 테스트와 물리적 테스트를 모두 지원하는 프레임워크를 제안함(이 U-TEST 부분은 요약 생략)