잡談/DO-178 기본

37. 부속물 - 소프트웨어 레벨에 따른 프로세스 목표와 출력 (ANNEX A)

sudam 2019. 1. 7. 17:48

보통 책자의 후반부에 작성되는 부록(Appendix)이나 부속물(Annex)은 상대적으로 그 중요도가 떨어지는 것이 일반적이다. 그런데 DO-178 가이드라인의 경우에는 조금 다르다. DO-178 가이드라인을 보면 다음과 같이 용어설명을 포함해서 부록과 부속물이 모두 들어있다.


 

사실 다른 것들은 실제로도 굳이 보지 않아도 무방한 참고사항일 뿐이지만 ANNEX A로 나오는 이 부분은 DO-178 가이드라인을 통틀어서 가장 중요한 내용이 포함되어 있다. 이미 우리는 앞에서 설명하는 중간중간 목표(Objectives), 활동(Activities), 출력(Outputs)를 담고 있는 아래와 같은 표를 확인한 바가 있다.

 

 

그래서 다른 부속물이나 부록은 제외하더라도 부속물(ANNEX) A에 대해서는 이렇게 별도로 설명을 추가하기로 했다. 이미 설명된 부분을 포함해서 여기에 나오는 테이블의 의미와 사용법에 대해서 전체적으로 정리하는 기회가 될 수 있을 듯 하다.

 

먼저 제목을 다시 한 번 보자.


 

소프트웨어 레벨에 따른 프로세스 목표와 출력이라고 번역할 수 있다. DO-178에서 가장 핵심 용어인 소프트웨어 레벨’, ‘목표’, ‘출력이 세 가지가 포함되어 있다. 그 만큼 중요하다는 것을 확인할 수 있는 부분이다.

 

부속물 A는 서두의 짧은 설명 이외에는 A-1 ~ A-10에 이르는 총 10개의 테이블로만 구성되어 있다. 따라서 이곳에서의 핵심은 이 테이블을 어떻게 이해하고 활용할 수 있느냐가 관건이다. 이미 앞에서 중간중간 설명된 부분이어서 어느 정도는 이해가 되었겠지만 여기서 전체적으로 다시 한 번 정리해 보자.

 

우선 테이블에는 특정한 목표, 관련된 활동, 그리고 출력을 정의하는 부분에 DO-178 가이드라인의 관련된 Section을 가리키는 숫자가 포함되어 있다. PDF 파일을 보는 경우에는 아예 링크가 되어 있어서 클릭만으로 해당 절을 바로 찾아갈 수도 있다.

 

테이블에 대해서는 다음과 같은 지침(Guidance)을 포함하고 있다고 설명하고 있다.


 

해석을 보자.

 

a. 각각의 소프트웨어 레벨에 대해서 적용할 수 있는 프로세스 목표. 레벨 E 소프트웨어에 대해서는 2.3.3을 보라.

b. 프로세스의 목표를 만족하기 위해 적용가능한 소프트웨어 라이프 사이클 프로세스 활동의 소프트웨어 레벨에 따른 독립성

c. 소프트웨어 라이프 사이클 프로세스 활동에 의해서 생성된 소프트웨어 라이프 사이클 데이터에 대한 소프트웨어 레벨에 따른 관리 범주 (7.3을 보라)

 

어렵게 설명된 것 같지만 이미 우리가 앞에서 테이블을 보면서 이해한 내용을 풀어서 설명한 것들이다. 따로 추가 설명은 하지 않겠지만 한 가지, 레벨 E에 대해서 설명한 부분은 짚고 넘어갈 필요가 있을 듯 하다.

 

사실 레벨 E 소프트웨어는 DO-178 가이드라인의 영향을 전혀 받지 않는다고 보면 된다. 실제로 가이드라인 Section 7.3에는 아래와 같이 설명되어 있다.


 

해석을 보자.

 

e. 레벨 E: 시스템 안전성 평가 프로세스에 의해서 보여지는 것에 따라서 비정상적인 동작의 소프트웨어는 항공기 운영 능력 혹은 비행사의 작업부하에 아무런 영향을 미치지 않는 시스템 기능의 실패 원인이 되거나 실패에 기여를 하게 된다. 만약 소프트웨어 컴포넌트가 레벨 E로 결정되고 이것이 인증당국에 의해서 확인을 받으면 더 이상 이 문서에 포함된 지침은 적용하지 않는다.

 

밑줄 친 부분에서 그런 점을 명확하게 확인할 수 있다.

 

부속물 A의 테이블 활용에 있어서 또 하나 유의해야 할 부분은 아래의 설명에 제시되어 있다.


 

해석을 보자.

 

이들 테이블은 체크리스트로 사용되어서는 안된다. 이들 테이블은 이 문서를 준수하기 위한 모든 특성을 반영하지 않는다. 이 지침을 완전하게 이해하기 위해서는 이 문서(참고: DO-178 가이드라인)의 전체 본문이 고려되어야 한다.

 

사실 필자의 개인적인 의견으로는 위의 설명이 있다고 하더라도 일단 여기에 나오는 테이블 전체를 체크리스트로 사용하는 것을 추천한다. 대신 진행하는 과정에서 다른 부분이 있을 경우 그런 것들을 반영해서 체크리스트를 업데이트 혹은 수정하는 것이다. 물론 이것이 정답이라는 이야기는 아니므로 최종 결정은 각자의 판단에 맡기기로 하고 중요한 것은 여기에 나오는 테이블이 절대적인 것이 아니라는 점을 다시 한 번 상기하자. 결과적으로 제대로 사용하기 위해서는 테이블과 함께 관련된 절의 전체 내용이 충분히 고려되어야 한다.

 

마지막으로 아래의 기호에 대한 설명은 앞에서도 잠시 설명한 바가 있다.

 

 

정확한 설명을 위해서 위의 기호가 표시된 테이블을 다시 한 번 보자.

 

 

기본적으로 아래와 같은 해석을 통해서 이해할 수 있다.

 

-       인증을 받고자 하는 소프트웨어 레벨에 해당하는 칸을 기준으로 한다. 다른 칸은 고려하지 않는다.

-       검정색원이나 흰색원이 표기된 목표(Objective)는 반드시 달성해야 한다. 반대로 빈칸으로되어 있으면 해당 목표는 생략할 수 있다.

-       검정색원은 독립적(Independence)으로 달성되어야 한다는 의미이고 흰색원은 독립적인 수행을 고려하지 않아도 된다.

-       로 표시된 경우에는 출력(Output)을 데이터 관리유형 1(Data Control Category 1)로 관리해야 한다.

-       로 표시된 경우에는 출력(Output)을 데이터 관리유형 2(Data Control Category 2)로 관리해야 한다.

-       빈칸으로 된 부분의 수행여부는 지원자의 결정에 따른다.

 

이것으로 DO-178 가이드라인에 대한 설명을 모두 마친다. 지금 와서 보니 여러가지 생각과 하고싶은 말이 떠오르지만 그런 내용들을 여기에 주저리주저리 나열하는 것은 여러분에게 별로 도움이 될 것 같지 않아서 그만두기로 했다. 대신 부속물(ANNEX) A의 테이블 전체를 제시하는 것으로 대단원의 막을 내릴까 한다. 다시 한 번 이 글을 보시는 모든 분들에게 조금이라도 도움이 되기를 바란다.