항공우주산업기술동향 11 권 2 호 (2013) pp. 189~196 산업동향 ( 기술동향 ) http://library.kari.re.kr 에서보실수있습니다. 항공안전을위한소프트웨어인증기술발전동향 윤원근 *, 이백준 * Development Trend of Software Certification Technology for the Safety of Avionic System Youn, Won-Keun *, Yi, Baeck-Jun * ABSTRACT RTCA DO-178B has long been regarded as a document providing the premier means or path to obtain FAA certification of software to be used in airborne systems. Seven years ago, the RTCA created special committee 205 (SC-205) to produce a revision of DO-178B to account for new software development and verification technologies that were deemed immature at the time DO- 178B was written. The new version, DO-178C Software Considerations in Airborne Systems and Equipment Certification, was released in December 2011. This paper presents the comprehensive comparison studies between DO-178B and DO-178C for the safety of avionic system in term of various aspects. It is critical to understand how DO-178C evolves from DO-178B and the difference between these two standards to efficiently manage the software development process, to reduce the development cost, and to ultimately ensure the safety of the entire avionic system. This study may provide an enriched understanding about the rationale and true intent the behind two main standards (DO-178B and DO-178C) on avionic software engineers. 초록 RTCA DO-178B는항공전자시스템에서사용되는소프트웨어의 FAA 인증을얻기위한주요한수락가능한적합성입증방법의표준문서로서오랫동안사용되어왔다. 7년전, RTCA는 DO-178B 가발행된시점에성숙하지못했던새로운소프트웨어개발및검증기술을포함하기위해 DO-178B의개정을추진하였다. 본논문에서는 DO-178C의발전동향과 DO-178B와의주요대비사항을살펴보고자한다. 이를통해항공업체가항공기를개발하고인증계획을세울때, 비용및시간측면에서효율적으로소프트웨어품질보증을수행할수있으며, 항공기시스템의인증기술수준을높일수있을것이다. 본논문은두표준 (DO-178B 및 DO-178C) 의유사점과차이점에대한풍부한설명을제공함으로서항공전자소프트웨어엔지니어가소프트웨어인증프로세스를이해하는데도움을줄것이다. Key Words : Airborne software( 항공탑재용소프트웨어 ), DO-178B, DO-178C, Quality Assurance( 품질보증 ), Safety Certification( 안전인증 ), * 윤원근, 이백준, 한국항공우주연구원항공인증연구센터항공제품보증팀 wkyoun@kari.re.kr, ybj@kari.re.kr,
190 윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 1. 서론 시스템의신뢰성 / 안정성은항공, 우주, 교통, 원자력의료분야를포함한여러분야에서중요한사항이다. 무엇보다항공분야는극한의저온이나다습한환경등극한비행환경에노출되고, 비행중고장또는작동불능시대처가용이하지않고, 사고발생시인명 / 물질적피해가매우크기때문에신뢰성 / 안전성이최우선으로고려되어야한다. 이를위해항공분야에서는항공기설계단계에서부터인증당국의안전성평가를통해형식인증을받을것을의무화하고있다. 항공산업에서인증이라함은, 요구되는규정및절차를만족하였고, 요구되는안전성을확보하였음을확인받는절차라고할수있다 [1]. 특별히항공분야에서는하드웨어와소프트웨어가통합적으로개발되지만사실상소프트웨어가전체시스템의신뢰성을결정하는핵심요소이다. 근래에들어항공분야에사용되는소프트웨어는하드웨어성능의획기적개선, 컴퓨터구조의변화, 메모리와저장용량의증가를통해현저하게발전하였다. 따라서항공소프트웨어의신뢰성을확보하기위해다양한군용및민간용소프트웨어규격들이개발되었다 [2]. 그중에서 RTCA/DO-178B 항공기탑재시스템및 장비인증에있어서의소프트웨어고려사항 는민간항공분야에서탑재용소프트웨어승인을위한지침으로서 RTCA(Radio Technical Commission for Aeronautics) 에의해 1992년 12월에제정되었다. 이지침은 RTCA와 EUROCAE(European Organization for Civil Aviation Equipment) 의협의하에개발되었으며 [3], 승인위원회의대부분은미국, 유럽, 캐나다의인증당국및항공업계로구성되었다. DO-178B 는법적구속력을가지는규정은아니지만 FAA(Federal Aviation Administration) 가발행한 AC(advisory circular) 20-115B에의해서 FAR(Federal Aviation Regulations) 에대한수락가능한적합성입증방법 (Acceptable Means of Compliance) 으로채택되었으며 ( 그림 1), 실제적으로항공소프트웨어개발을위한표준처럼전세계의항공업계에서활발히사용되고있다 [4, 5]. 현재국내에서는항공용소프트웨어를개발하고시험한사례는있으나, 체계적으로개발, 시험및인증된경우는흔치않다. 또한인증에소요되는비용은개발에소요되는전체비용의상당부분을차지하며, 이미개발이완료된시스템을추후해당규정에맞게인증을받는것은거의불가능하기때문에, 인증지침에대한충분한이해는신뢰성있는항공시스템을개발하는데있어필수불가결한요소이다. 그림 1. DO-178B 와 DO-178C 문서체계
윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 191 최근우리나라는 KC-100(FAR PART 23급 ) 개발을통하여최초로민간비행기인증획득을하였으며, 이를통해 BASA를체결하려고하고있으나, 선진국에비해서항공품질보증을위한인증체계, 경험및인력이부족한상황이다. 이러한상황에서이제는다양한소프트웨어를자체개발하고, 시험, 인증할수있는능력이요구되고있으며, 이는국내항공산업이항공기독자개발능력을확보하기위해반드시필수적인핵심기술이다. 이러한기술력확보를위해서는, 현재항공용소프트웨어인증기술을위한인증지침을파악하는것이무엇보다필요하다. 그러나최근소프트웨어개발기술의비약적인발전으로 DO-178B가다루지못하는인증문제들이늘어남에따라 DO-178C로 2011년도개정되었으며 AC 20-115C 의해서 FAR에대한수락가능한적합성입증방법으로채택되었다 (2013년). 따라서본논문에서는 DO-178C의발전동향과 DO-178B와의주요대비사항을살펴보고자한다. 이를통해항공업체가항공기를개발하고인증계획을세울때, 비용및시간측면에서효율적으로소프트웨어품질보증을수행할수있으며, 항공기시스템의인증기술수준을높일수있을것이다. 2. 항공용소프트웨어인증기술발전개요 항공산업계와인증당국은 DO-178B를항공용소프트웨어인증을위한적합성입증방법으로활발히사 용해왔다. 그러나 DO-178B 사용경험이축척됨에따 라지침의내용과적용에관한질문들이쌓이게되었 고, 하드웨어와소프트웨어기술의급속한발전은 DO-178B가적절하게다루지못하는많은문제들이발 생하게되었다 [6]. < 표 1> 소프트웨어인증기술발전동향 규격 년도 주요내용 DO-178 1980 기본적인절차 DO-178A 1985 소프트웨어레벨도입소프트웨어컴포넌트테스팅도입 DO-178B 1992 다양한소프트웨어개발기술도입 (COTS 제품, 툴도입 ) 지속적인소프트웨어품질보증도입 ( 전환기준 ) DO-178C 2011 최신소프트웨어개발기술도입 ( 모델- 기반개발및검증, 정형기법, 객체지향기술 ) DO-178B 개념명확화 따라서 2004년부터 FAA와항공산업계는소프트웨 어기술의발전에관한논의를시작했고, 기술발전과 변화를따라갈수있는접근방법을구현하고새로운 소프트웨어동향과기술에대한접근을용이하게하기 위해서 DO-178B의개정작업을시작하였다. 이후로구성원들의자발적인참여로 2005년부터 2011년까지연간미국 1회, 유럽 1회로총 2회총회회 의 (RTCA Special committee #205(SC-205)) 가개최되 < 표 2> DO-178B/DO-178C 라이프사이클데이터 DO-178B/DO-178C 라이프사이클데이터 (20 항목 ) *Plan for software aspect of certification Software development plan Software verification plan Software configuration management plan Software quality assurance plan Software requirement standards Software design standards Software code standards Software requirements data Design description * 인증당국에제출 Source code Executable object code Software verification cases and procedures Software verification results Software life cycle environment configuration index *Software configuration index Problem reports Software configuration management records Software quality assurance records *Software accomplishment summary
192 윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 었으며, 구성원들은주로미국과유럽출신들로구성되었다. 주요참여기관으로는항공산업회사 (Boeing, Airbus, Lockheed, Rockwell Collins, Honeywell, Thales, Euro copter), 국가기관 / 인증당국 (FAA, EASA, NASA, DGAC), 툴벤더 (LDRA, Esterel, Mathworks, AdaCore, Verocel) 가있으며, 투표를통한개정승인과정을거쳤다. DO-178부터 DO-178C까지의제정과정을살펴보면 < 표 1> 과같다. 3. DO-178B와 DO-178C의주요차이점 3.1 일반사항 DO-178C는 DO-178B를기반으로개정되었기때문에기본프로세스와내용은상당부분일치하며프로세스에따른 20개의산출문서또한동일하다 < 표 2>. DO-178B와 DO-178C 모두소프트웨어에대한의무적인단독지침은아니며, 신청자가인증당국에대체입증방법을제안할수있다 [7, 8]. 소프트웨어의안전수준을결정하기위해, 시스템엔지니어링업무의일환으로서안전성평가가요구된다. 또한목적-기반프로세스중심적인지침으로서특정기술을요구하지않는다. 따라서기술의변화와관계없이지침이유효한반면에지침을적용하기위해서는전문적인지식이요구된다. DO-178C는가능한한 DO-178B 기존지침내용들의변화를줄이는방향으로개정되었으며, 개정의목적은다음과같다. 새로운소프트웨어동향과기술에대한접근 시스템개발과안전프로세스간의명확하고일관된연계방안제공 기술발전및변화를따라갈수있는접근방법구현 DO-178B 오류수정및추가 DO-178C는 DO-178B와마찬가지로항공기탑재시스템및장비가감항요구조건에부합하는안전한신뢰수준으로목적하는기능을발휘하도록소 프트웨어를개발하기위한지침을제공하기위한목적으로개발되었으며, 다음형태로구성된다. 소프트웨어라이프사이클프로세스의목적 이러한목적을달성하기위한활동 목표가충족되었음을나타내는증거에대한소프트웨어라이프사이클데이터형식의기술 소프트웨어레벨에따른목표, 독립성, 소프트웨어라이프사이클데이터, 컨트롤카테고리의변화 특정어플리케이션에적용되는추가적인고려사항 DO-178C는 DO-178B 이후로개발된새로운소프트웨어개발기술들에대한지침을도입했으며주된내용은다음과같다. 모델- 기반개발및검증 (Model-Based Development and Verification) 정형기법 (Formal Method) 객체지향기술 (Object-Oriented Technology) 그림 2에서와같이 DO-178C는위의새로운기술도입을위해기존의문서를확장하기보다는 DO-178C와함께부가적으로사용될수있는다음과같은새로운추가적인문서들을개발하였다. 그림 2. DO-178C 지원문서 DO-330: 소프트웨어툴검증고려 (Software Tool Qualification Considerations)
윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 193 DO-331: 모델기반개발및검증 (Model-Based Development and Verification Supplement to DO-178C) DO-332: 객체-지향기술및관련기술 (Object-Oriented Technology and Related Techniques Supplement to DO-178C) DO-333: 정형기법 (Formal Methods Supplement to DO-178C) DO-248C: 추가정보 (Supporting Information for Development and Verification Supplement to DO-178C) DO-178C에서요구하는소프트웨어라이프사이클프로세스는계획프로세스 (planning process), 개발프로세스 (development process), 통합프로세스 (integral process) 로 DO-178B와동일하게구성되며, 그림 3와같다. 계획프로세스이후개발프로세스는요구조건단계 (requirement), 설계단계 (design), 코딩단계 (coding) 및통합 / 시험단계 (integration) 로구성되며, 통합프로세스는프로젝트시작부터끝까지계속적으로진행된다. 통합프로세스는검증 (verification), 형상관리 (configuration management), 품질보증 (quality assurance) 및인증지원 (certification liaison) 프로세스를포함한다. DO-178C는 DO-178B의오류나불일치를수정하였다. 예를들어, DO-178C는 DO-178B의오자 (errata) 를 그림 4. 시스템및소프트웨어프로세스정보흐름수정하였으며 DO-178B 부록 A의서로다른표간의불일치를제거하였다. 또한일부경우에부록 A는본문내용과더적합한배치를위해수정되었으며, 문서전체에걸쳐용어를통일시킴으로서목표, 목적, 지침, 가이드라인등과같은특정단어의일관되지않은사용에관한문제를해결하였다. 또한코드컴포넌트간 그림 3. DO-178C 흐름다이어그램
194 윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 에데이터커플링과컨트롤커플링의구조커버리지분석이요구조건-기반시험의결과를평가함으로서수행되어야한다는것을명확하게정의하였다 (6.4.4.2절). 이에더해 DO-178C는최신시스템현황을포함하기위해소프트웨어개발과관련된시스템측면을개정하여제공하였다 (2절). 이것은 ARP 4754( 시스템-레벨지침 ) 를개정하는위원회와 DO-178B( 소프트웨어- 레벨지침 ) 를개정하는 SC-205/WG-71 과동시에작업을통해개정되었으며, 주로 ARP 4754에특정참조사항을추가하며시스템요구조건을소프트웨어에할당하고, 시스템, 소프트웨어, 하드웨어사이에정보흐름다이어그램을강화하는방향으로이루어졌다 ( 그림 4). 또한불필요코드 (Dead Code) 와비활성코드 (Deactivated Code) 에대한명확한확장된정의가용어집에추가되었으며, 부록 A와 7절 ( 소프트웨어형상관리 ) 에하이퍼링크가추가됨으로서지침의사용성이크게증대되었다. 또한 DO-178C의소프트웨어레벨에따라충족시켜야하는목표와독립성목표의개수또한변경되었으며, 레벨 D의목표와독립성을제외하고는전체적으로목표의개수와독립성의개수가증가하였다 < 표 4>. 여기서독립성이란객관적인평가를달성하기위한책임의분리를의미하며, 소프트웨어검증프로세스활동의경우, 독립성은검증대상항목의개발자이외의인원에의해검증프로세스활동이수행될때를뜻한다. 또한 DO-178C는다음의 2가지 숨겨진목표 (Hidden Objective)" 를부록 A에추가하였다. 소스코드에직접적으로추적이가능하지않은추가적인코드를검증하는방법과검증커버리지를보장하는방법이정의되었다 ( 표 A-7, 목표 9). 소프트웨어계획및표준이일관되게개발되고검토되었다는것이보장되었다 ( 표 A-9, 목표 1). < 표 4> DO-178B와 DO-178C 목표 / 독립성 3.2 목표및활동 소프트웨어레벨 DO-178B ( 목표 / 독립성 ) DO-178C ( 목표 / 독립성 ) 변경 DO-178C는지침문서를전체적으로이해하기위해서문서의전체를고려할것을강조하였다. 예를들어, DO-178B와다르게 DO-178C 의부록 A는목표뿐만아니라개별활동참조사항을포함하며 < 표 3>, 1.4절 문서를사용하는방법 은전제치침의중요한부분활동에대해강조한다. < 표 3> DO-178C 부록 A 표 A-1 목표활동소프트웨어레벨별적용 내용 참고 참고 A B C D 1 소프트웨어 개발 4.1a 4.2.a 및통합프로세스의 4.3 목표를정의한다. 4.2.c 4.2.d 4.2.e 4.2.g 4.2.i 4.2.l 4.3.c Level A 66/25 71/30 +5/5 Level B 65/14 69/18 +4/4 Level C 57/2 62/5 +5/3 Level D 28/2 26/2-2/0 Level E 0 0 변경없음 DO-178C 는또한 DO-178B에포함되어있지않은주 제들이포함되어있다. 이러한주제들은신청자의공급 자관리, 파라미터데이터아이템, 추적성을포함하며 이러한주제는부록 A에다음목표들이추가되었다. 파라미터데이터아이템이올바르고완성되었다 ( 표 A-5, 목표 8). 파라미터데이터아이템파일검증이수행되었다 ( 표 A-5, 목표 9). 추적성데이터 (Trace Data) 가소프트웨어라이프 사이클데이터로식별되었다 (11.21절, 표 A-2, 표
윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 195 A-6 참조 ). 특별히 DO-178C에서는 1) 시스템요구조건과고-수준요구조건, 2) 고-수준요구조건과저-수준요구조건, 3) 저-수준요구조건과소스코드, 4) 소프트웨어요구조건과테스트케이스, 5) 테스트케이스와테스트절차, 6) 테스트절차와결과사이에양방향추적성을강조하고있다. 비록 DO-178B 가위와같은의도를가졌다고하더라도, DO-178B에포함된용어는고-수준요구조건에서소스코드만을명시하고있다. 이와대조적으로 DO-178C는추적성이양방향에서검증가능한데이터로확인되어야한다는것을명시하고있다. 3.3 툴검증 (Tool Qualification) 프로세스에최소한대등한신뢰성을툴이제공하는지를확인하는것이다. 툴검증은툴사용계획이소프트웨어인증계획서 (Plan for Software Aspects of Certification) 에기술된경우에만수행되며, 다른시스템에서사용을위해과거에검증된툴이라고할지라도, 툴검증은재수행되어야한다. DO-178B에서툴검증은그림 5에서와같이먼저툴사용으로인해제거, 축소, 자동화하는프로세스가없는경우, 툴검증은필요하지않다. 또한툴의출력이독립적으로검증되는경우에도툴검증은필요하지않다. 최종적으로개발툴과검증툴을분류한후개별툴검증기준에따라툴검증을수행하게된다. DO-178B에서는툴을개발툴과검증툴로두가지로분류했으며툴검증의레벨을따로정의하지않았다. 하지만, DO-178C 에서는툴검증레벨 (Tool Qualification Level) 을정의하기위해소프트웨어라이프사이클프로세스에있어툴사용의영향을평가해야하며, 다음의기준을따른다 < 표 5>. 기준 1(Criterion 1): 그산출물이탑재소프트웨어의일부가되는툴로서에러를발생할수있는툴 기준 2(Criterion 2): 에러를검출하는데실패할수있고, 개발또는검증활동을줄일수있는툴 기준 3(Criterion 3): 에러를발생하지는않지만에러를검출하는데실패할수도있는툴 < 표 5> 툴검증분류비교 그림 5. DO-178B 툴검증프로세스 DO-178B 개발툴 (Development Tool) 검증툴 (Verification Tool) DO-178C 기준 1(Criterion 1) 기준 2(Criterion 2) 기준 3(Criterion 3) 툴검증이란툴사용으로인해제거, 축소, 자동화된프로세스에최소한대등한신뢰성을제공하는지를확인하는것이다. DO-178B에서는툴은에러를만들수있는개발툴 (development tools) 과에러를유발하지는않지만에러를검출하는데실패할수도있는검증툴 (verification tool) 로나뉜다. 툴인증프로세스의목표는제거, 축소, 자동화하는 소프트웨어레벨과기준에따른툴검증레벨은 < 표 6> 에정의되어있으며, TQL-1 이가장엄격한검증레벨이고, TQL-5 는가장덜엄격한검증레벨이며, 엄격한레벨일수록충족시켜야하는목표, 활동이늘어난다. 툴검증레벨에따라필수적인목표, 활동, 지침, 라이프사이클데이터는 DO-178C에서호출하는별도의
196 윤원근외 / 항공우주산업기술동향 11/2 (2013) pp. 189~196 문서로서 DO-330, Software Tool Qualification Considerations에정의되어있다. < 표 6> 툴검증레벨결정 소프트웨어 기준 레벨 기준 1 기준 2 기준 3 Level A TQL-1 TQL-4 TQL-5 Level B TQ L-2 TQ L-4 TQL-5 Level C TQ L-3 TQ L-5 TQL-5 Level D TQ L-4 TQ L-5 TQL-5 4. 결론및추후과제 항공시스템에있어서소프트웨어는항공시스템전체의안전성을결정짓는매우중요한요소이다. 실제로최근항공기에서소프트웨어가담당하는기능은통신, 항법, 자세제어, 자동비행, 엔진제어등그범위가매우광범위하고이에따른산업규모도빠르게성장하고있다. 또한항공디지털시스템의급속한발전으로소프트웨어가복잡화, 고도화되면서안전성에치명적인항공기기능의소프트웨어의사용이증가함에따라새로운안전성과인증논의가대두되고있다. 하지만현재우리나라는소프트웨어개발및인증을위한인증체계, 경험및인력이선진국에비해걸음마단계이다. 이러한상황에서이제는항공용소프트웨어를독자적으로개발, 시험, 인증할수있는능력이요구되고있으며, 이는국내항공산업이항공기독자개발능력을확보하기위해반드시필수적인핵심기술이다. 이러한기술력확보를위해서는, 현재항공용소프트웨어품질보증을위한인증지침을파악하는것이무엇보다필요하다. 또한인증에소요되는비용은개발에소요되는전체비용의상당부분을차지하며, 이미개발이완료된시스템을추후해당규정에맞게인증받는것은거의불가능하기때문에, 인증지침에대한충분한이해는항공시스템을개발하는데있어필수불가결한요소이다. DO-178B와 DO-178C는구조적측면과내용측면에 서상당히유사점을가지지만, 세부내용에있어여러차이점을보이고있다. 이에본논문에서는 DO-178C 의발전동향과 DO-178B와의주요유사점과차이점에대해서살펴보았다. 비록이논문을통해서 DO-178B 와 DO-178C의모든부분에대해서살펴볼수는없지만, 이를활용하면비용과시간측면에서더욱효율적으로인증지침을충족시키는항공용소프트웨어를개발할수있을것으로기대한다. 참고문헌 1. 이백준, 김성겸, 항공용소프트웨어의설계 인증고려사항, 항공우주기술, 제 3권, 제 2호, 2004, pp 178-182. 2. 이백준, 진영권, 항공용소프트웨어인증과개발단계별주의사항, 항공우주시스템공학회추계학술대회, 2011, p 44-47. 3. 박무혁, 항공용 S/W 개발및인증기술동향, 항공우주산업기술동향, 제 5권, 제 1호, 2007, pp 15-24. 4. Dodd, I. and Habli, I.,"Safety certification of airborne software: An empirical study". Reliability Engineering & System Safety, Vol. 98, No. 1, pp 24-28, 2011 5. Ferrell, T. K. and Ferrell, U. D.,"Use of service history for certification credit for COTS ". Aerospace and Electronic Systems Magazine, IEEE, Vol. 18, No. 1, pp 24-28, 2003 6. Hilderman, V. and Baghi, T, Avionics certification: a complete guide to DO-178 (software), DO-254 (hardware). Avionics Communications. 7. RTCA, "Software considerations in airborne systems and equipment certification", DO-178B, 1992. 8. RTCA, "Software considerations in airborne systems and equipment certification", DO-178C, 2011.