임베디드 기기의 안전성에 대한 관심이 고조되고 있다. 그 결과 안전성에 관한 B 규격인 IEC 61508과 그 개별 적용인 C 규격 및 가이드라인이 연이어 제정되고 있다. 자동차산업에서도 ISO SC3/TC22/WG16에서 2005년부터 위원회 초안(Committee Draft, CD) 제정을 목표로 워킹 드래프트(ISO WD26262)의 작성 작업이 개시되었다.
일반적으로 소프트웨어 개발에 요구되는 특징은 생산성, 신뢰성, 가용성, 재이용성, 확장성, 이식성, 유지보수성 등이다. 특히 신뢰성, 유지보수성은 대단히 중요한 항목이다. 이외에도 최근 임베디드 소프트웨어에서 가장 중요시 되고 있는 항목이 ‘안전성’이다.
최근 들어 기능 안전(Function Safety)이라는 말을 자주 듣게 된다. 특히, 자동차업계에서 이 기능 안전을 확보하기 위해서 MISRA-SA(The Motor Industry Software Reliability Association Safety Analysis: 안전성 해석)를 적용하는 방향으로 나아가고 있다.
MISRA-SA는 자동차 및 자동차의 서브시스템에서 안전성에 관련된 소프트웨어를 개발하는 엔지니어를 위한 안전성 해석에 관한 가이드라인이다. MISRA-SA는 시스템 전체의 기본설계 시점부터 시스템이나 환경을 모델화하고 잠재되어 있는 리스크를 모두 추출, 분류한다. 그 리스크에 대해 안전기능이란 무엇인지 정한다. 이 안전기능을 만족하기 위한 요구를 기초로 유지보수 계획이나 안전타당성 확인 계획과 병행하여 실장(시스템 설계, 컴포넌트 설계, 모듈 설계를 포함한다)을 시작하게 된다.
요즘 자동차업계에서는 완성차든 전자제어 부품이든 탑재되는 임베디드 제어 소프트웨어의 신뢰성을 명확히 제시할 것을 요구하고 있다. 이에 대응하기 위해 개발된 것이 C 소스 코드의 신뢰성을 검증하는 수단인 MISRA-C이다. 안전성 검증의 관점에서는 IEC 61508과 그 파생 규격이 향후 국제표준화 될 것으로 전망된다. 자동차 분야에서 파생 규격으로서는 ISO 26262가 2008년에 책정될 예정이다. MISRA-SA는 이 규격을 만족하는 개발 실무를 실현하기 위한 가이드라인이다. MISRA-SA는 현재 드래프트 판의 최종 단계(드래프트 13)에 있으며 초판 발행은 올 여름으로 예정돼 있었다.
이 가이드라인이 규정하고 있는 안전성 해석은 크게 사전안전성 해석(Preliminary Safety Analysis)과 상세안전성 해석(Detailed Safety Analysis)이라고 하는 두 개의 페이즈로 나눌 수 있다.
사전안전성 해석은 시스템 개발의 사전 혹은 초기에 수행하는 안전성 해석이다. 상세안전성 해석은 추출된 잠재 위험(hazard)에 대하여 상세히 해석하는 것이다.
본 가이드라인은 사전안전성 해석에 역점을 두고 있어 PASSPORT 다이어그램, 제어가능성(controllability)에 관한 표, MISRA 리스크 그래프라고 하는 독자적인 기술 수법을 제창하고 있다. 한편 상세안전성 해석에는 FTA(Fault Tree Analysis)나 FMEA(Failure Mode and Effect Analysis) 등의 기존 수법을 이용한다.
다음은 드래프트 판의 내용을 개략적으로 소개한다.
드래프트 판 제1장에서는 본서의 목적과 IEC 61508이나 DEF STAN00-56과의 관계에 대해 소개하고 있다. MISRA-SA를 책정한 멤버는 IEC 61508의 책정에도 참여한 사람들이며 ISO 26262의 위원이기도 하다. 또한 MISRA-C에 의한 코드 품질 개선도 추진해 왔기 때문에 표준 룰을 만드는 것만으로는 현장에 적용하기 어렵다는 것을 이해하고 있다. 이로 인해 과거 십 수 년의 경위를 설명하고 MISRA-SA의 위치를 명확히 하고 있다.
제2장에서는 안전성 보장의 개발문화, 안정성을 다루기 위한 개념에 대해 소개하고 있다. 안전성 매지니먼트라고 하는 언어를 사용하여 제품 개발 과정에서 안전성을 명시적으로 설계에 도입하기 위한 시스템이나 개념을 설명하고 있다. 이 시스템이 있으면 개발조직에서 국제표준이 요청하는 다양한 도큐먼트를 합리적으로 작성할 수 있게 된다.
제3장에서는 종래의 V자 개발 프로세스에 안전성 보장을 가미했다. 이 V자 프로세스에 있어서 안전성을 보장하기 위한 공정을 어떻게 부가해야 할 지 설명되어 있다.
제4장은 사전안전성 해석에 관한 내용이다. 사전안전성 해석이란, 앞서 언급했듯이 시스템 개발 초기 혹은 사전에 수행해야 할 제품의 안전 면의 해석 작업이다. 특히, 프로그래밍 가능한 전자 디바이스(소위 마이크로컨트롤러 등. IEC 61508에서 “programmable electronic”이라고 표현되어 있다. PE로 표기)를 신규로 이용하여 제품을 개발할 경우에, 그 리스크 평가를 포함시켜 해석을 실시하는 방법이 기술되어 있다(구체적인 항목에 대해서는 그림 2에 나타낸 Preliminary Safety Analysis 블록 안의 내용 참조).
제5장은 상세안전성 해석에 관한 내용이다. 상세안전성 해석이란, 안전성 해석을 보다 구체적으로 기술한 것이다. 「시스템 설계」, 「유추적 해석과 연역적 해석」, 「결과 해석」 등의 항목이 포함된다.
제6장은 참고문헌을 소개하고 있다.
부록은 다음과 같은 내용을 담고 있다.
A. 시스템과 잠재 위험 특정 모델
B. What If 해석
C. HAZOP 실시에 대한 조언
D. risk model과 리스크 평가
E. 제어성 파라미터와 분류
F. FMEA 실시에 대한 조언
G. FTA 실시에 대한 조언
부록에 30페이지를 할애해 안전성 설계 분야에서 사용된 기법을 자동차에 적용하기 위한 타당성을 제시하고 있다.
안전성 계산의 근거와 배경
기능 안전의 기본적인 전제는 일어나지 않은 일과 현상을 예방하는 것이다. 이런 의미에서 프로그래머의 일상적인 디버그 작업과는 본질적으로 다른 계산 상에 성립되어 있는 것이 기능 안전이다. MISRA-SA는 이러한 안전성 계산의 근거에 대해서도 언급하고 있다.
1) 한 대의 자동차를 시스템으로 간주하여 안전성을 계산
MISRA-SA는 한 대의 자동차를 시스템으로 간주한 안전성 계산과 개발을 목적으로 하고 있다. 다시 말해 ITS에 있어서 전체의 안전 보장이라고 하는 개념은 다루고 있지 않다. MISRA-SA를 책정한 중심 멤버가 유럽 교통 시스템의 기본 아키텍처를 책정한 사람들이지만, 이 영역은 수요나 실험 데이터량 등의 이유로 다룰 수 있는 범위를 넘어서는 것으로 판단된다.
2) 유럽의 사회 상식·견해를
정량화
MISRA-SA는 안전성 논의의 근거로서 영국에서의 교통사고 사망자나 각종 사회적 안전성 연구결과를 인용하고 있다. 기본은 이하에 제시한 몇 가지 공공 허용 리스크의 기준으로부터 추정하고 있다.
- 영국의 연간 교통사고사 확률은 10-4 오더이다. 또한 그 대부분이 사람의 부주의나 조작 실수 등에 기인하고 있다.
- 독일의 허용 리스크의 판단 기준인 MEM(Minimum Endogeneos Mortality)에서, 다른 산업에서의 최소 자연치사 기준(예를 들면, 원자로 주변에서 생활했을 경우에 피폭에 의해 사망하는 확률의 상한) 중 기술적인 원인(예를 들면, 원자로 배관의 피로에 의한 절단 예측의 불일치 등)에 의한 확률은 10-5으로 상한을 정하고 있다
- 영국의 건강안전국(Health and Safety Executive, HSE)은 (개인에 대한 수익성을 부가해서) 10-6으로 설정하고 있다,
이 기준들은 잠재 위험이 사고로 이어질 위험성을 부가해 리스크 수준과 시간 당 장해(위험 측 고장) 발생의 허용 확률을 보여주고 있다. 그 결과 MISRA-SA에서는 프로그래밍 가능한 전자 디바이스(PE) 시스템에서 허용할 수 있는 리스크를 10-4로 정의하고 있다. 그러나 이 정도의 허용 리스크로는 빠듯하게 안전성 계산을 하게 될 가능성이 높고 계산 실수 등에 의해 사회적으로 허용될 수 없는 차가 도로를 활보할 가능성도 배제할 수 없다. 따라서 처음부터 목표를 높게 가져가야 한다는 의견도 있다.
<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>