IEC 61508, ISO 26262, EN 50128, IEC 62304에 따른 빌드 툴체인의 검증 방법
IAR Embedded Workbench for Arm, RISC-V, STM8, Renesas RX, RL78, RH850에서는 IEC 61508, ISO 26262, EN 50128, IEC 62304에 따라 주요 안전 핵심 어플리케이션용 인증 버전의 빌드 체인을 제공하고 있습니다. 여기서는 인증이라는 것이 어떤 의미인지를 알아보고, 사용자의 프로젝트에서 인증을 어떻게 활용할 수 있는지를 살펴 보겠습니다. 여기 포함되어 있는 기능적 안전 서비스는 어플리케이션에 대한 실제 인증 여부와는 별도로 매우 유용하게 사용할 수 있습니다.
임베디드 표준
안전 인증을 위한 정식 표준은 이미 여러 해 전에 제정되어 있습니다. 하지만 최근 수 년 간, 특히 임베디드 분야를 중심으로 이러한 표준에 대한 관심과 이용이 크게 증가해 왔습니다. 이와 같이 인증 및 인증 제품에 대한 관심이 높아진 주된 이유 중의 하나는 바로 법적인 필요성에 있습니다. 하지만 제품 생산 업체들에 있어서도 안전 인증 도장을 받는다는 것이 경쟁력을 높여주는 요인으로 자리잡게 되었습니다.
기능 안전에 관련된 여러 국제 표준을 하나로 집대성한 종합 표준이 바로 IEC 61508이며, 특히 지난 2010년에는 대폭 개정된 2차 버전이 발표되기도 하였습니다. 이 표준, 그리고 그로부터 파생된 다른 표준들은 현재 신뢰성 및 보안이 요구되는 다양한 업계에서 사용되고 있습니다. 예를 들어 가공 업계, 철도, 건물 자동화 업계 등이 여기에 속합니다. 자동차 시스템의 경우에는 별도로 ISO 26262 표준을 사용해 오고 있습니다. EN 50128은 철도용 어플리케이션을 위한 유럽 표준으로, 이 역시 IEC 61508에 바탕을 두고 있습니다. 국제 표준 IEC 62304의 경우는 의료 기기 탑재 소프트웨어 및 의료용 소프트웨어의 생애 주기 요구 사항을 규정하고 있는 표준입니다.
검증 및 평가
안전 핵심 기능을 포함하는 프로젝트나, 기능적 안전 요구 사항이 적용되는 프로젝트를 시작하시려는 사용자의 경우, 사용하시는 툴 역시 안전 관련 개발 용도로 적합 판정을 받은 것을 사용해야 한다는 것도 아실 것입니다. 개발 툴에 대한 구체적인 적합 판정 요건은 적용하고자 하는 표준의 종류에 따라 달라집니다. 또한 제조 상품이 지니는 중요성에 따라서도 좌우되는 측면이 있습니다. 뿐만 아니라 툴의 성격에 따라서도 좌우되는 부분이 있습니다. 예를 들어 제품 내에 들어가는 코드를 생성하는 컴파일러의 경우는 특히 소스코드 측정 규준 도구에 비해 적합 판정을 받는 것이 더 까다롭습니다. 또 소스코드 측정 규준 도구의 경우는 요건 관리 시스템이나 버전 관리 도구보다 더 까다롭습니다.
이렇게 여러가지 표준은 각각 안전 무결성에 대한 정의가 달리 적용됩니다. 즉, 제품이 지니는 중요성의 수준이 다른 것입니다. 또한 툴이 정확하게 어떻게 정의되는가에 있어서도 차이가 있습니다. 예를 들어 IEC 61508의 경우 컴파일러와 같은 툴은 가급적 인증을 받도록 하고 있지만, 인증이라는 것이 정확히 어떤 것을 의미하는지는 언급하고 있지 않습니다. 그리고 툴이 사양 및 기술 문서 상의 요건에 맞는지를 검증해야 한다는 내용도 기술하고 있습니다. 이것은 최악의 경우, 시험의 적절한 증거를 제시하지 못하는 경우, 사용자의 프로젝트 내에서 툴 전체에 대한 시험을 진행해야 할 수도 있음을 의미합니다. 한 편, 툴에 대한 의존도를 정의하기 위한 평가도 진행해야 합니다.
여기서 또 고려 및 평가를 필요로 하는 부분은 바로 툴의 공급사가 툴에 대해 얼마나 지원을 해 줄 수 있는가 하는 것입니다. 가급적, 안전 핵심 제품의 전체 생애 주기에 걸쳐 지원이 가능한 곳을 이용하는 것이 바람직합니다.
이러한 내용에 일일이 대응하려면 일이 참 많아질 것입니다. 하나의 프로젝트, 하나의 툴에 대해 처리해야 하는 업무가 이 정도입니다. 바로 이러한 배경으로 툴 체인의 인증이 필요해 지는 것입니다.
인증 및 검증 완료!
안전 핵심 개발 과정에서 당사 툴의 인증을 받는다는 것은 구체적으로 무엇을 의미하는 것일까요? 이것은 사용하시는 툴의 적정성 근거를 제시하기 위해 해야 하는 업무의 양이 크게 줄어드는 것을 의미합니다. 왜냐하면, 외부 독립 기관(여기서는 TÜV SÜD)이 당사 개발 활동, 문제 해결 절차, 그리고 시험 및 검증 활동에 대해 이미 평가를 진행하여 툴이 IEC 61508, ISO 26262 및 EN 50128, 그리고 Arm, RX 및 RL78의 경우 IEC 62304의 요구 사항도 충족함을 입증했기 때문입니다. 이것은 또한 만일에 개발 프로그래밍 언어로 C 또는 C++을 선택하시는 경우, 당사의 툴 체인이 매우 탁월한 선택이 될 수 있음을 의미합니다.
생애 주기 전체를 책임집니다
그러면 인증 툴을 사용하기만 하면 다 끝나는 것일까요? 사실, 여기서 고려해야 하는 부분 중의 하나가 바로 툴체인과 관련해 어느 정도의 지원이 제공되는지 입니다. 이것은 단지 프로젝트 기간에 그치는 것이 아니라, 제품 생애주기 전반을 의미합니다. 오래 된 툴, 새로운 버전이 나와 이제 구버전이 되어버린 툴에 대해서도 툴 공급사가 지원을 제공해 줄 것으로 기대하기는 어렵습니다. 이것은 안전 관련 프로젝트에서 필요로 하는 것과는 정 반대되는 것입니다. 안전 관련 프로젝트에서는 툴 업데이트는 최대한 지양해야 하기 때문입니다.
이전에 적합 판정을 받은 툴에 대한 버그 픽스를 받아 본다고 하여, 이것이 기능상의 업데이트도 함께 포함하는 경우 아무런 의미가 없습니다. 왜냐하면, 이 경우 툴 자체의 적합 판정을 다시 받아야 할 수도 있고, 테스트는 물론 그에 대한 영향 분석을 면밀히 진행하지 않으면 안 되는 문제가 됩니다.
높은 가동률을 요하는 안전 관련 소프트웨어 또는 서비스를 개발하는 고객들과 여러 해 동안 일 해 오면서, 당사는 “동결” 버전에 대한 지원을 제공할 수 있는 능력 역시 매우 중요하다는 점을 알게 되었습니다. 여기서 동결 버전이란 버그 픽스 만을 제공하고, 새로운 기능은 절대 추가하지 않는 버전을 말합니다. 이러한 버전은 계속해서 생명을 유지하며, 필요한 만큼 오래 오래 지원을 받아 볼 수가 있는 것입니다. 과거 당사는 특정 동결 버전과 그에 대한 지원을 필요로 하는 고객을 대상으로 맞춤형 특별 계약을 체결하기도 하였습니다. 그렇지만 인증을 통해 당사는 기능 안전 판 IAR Embedded Workbench의 형태로 모든 고객에게 동결 버전 및 그에 따른 지원을 제공할 수 있게 되었습니다. 이제는 이러한 형태의 제품도 일반 출시되어 간편하게 구매가 가능합니다.
언제까지나 계속됩니다
당사의 안전 개발 상품에서 제공되는 내용을 간단하게 살펴 보면 다음과 같습니다.
- 기능 안전 개발용 IAR Embedded Workbench 특별판. 인증 및 동결된 특정 버전의 IAR Embedded Workbench를 제공합니다. 이러한 제품은 Arm, RISC-V, STM8, RL78, RX 및 RH850 용으로 출시되어 있습니다.
- 인증서 유효 조건을 명시하고 있는 TÜV SÜD 인증 보고서.
- 안전 지침서. 여러 안전 표준에서 말하고 있는 안전 지침서란 안전 매뉴얼로서, 해당 툴 체인을 안전 관련 개발 과정에서 어떻게 활용할 수 있는지를 제시합니다. 지침서 상에서 다루고 있는 내용으로는 툴 체인 설치 시 고려 사항에서부터 언어 확장팩 및 컴파일러 프로그램의 취급 방법까지 다양합니다.
- 기능적 안전 지원 및 업데이트 계약서(Functional Safety Support and Update Agreement). 계약 상에 고객이 존재하는 한, 인증 버전을 대상으로 각종 지원, 그리고 미리 인증을 필한 버그 픽스를 제공한다는 내용의 계약서입니다.
- 툴체인 상에서 파악된 새로운 문제점에 대한 정기적인 업데이트 제공.
요약하자면, 인증 빌드 툴체인을 사용할 시, 안전 관련 프로젝트에서 툴 사용에 따른 번거로움을 최소화 할 수 있는 것입니다. 적절한 지원 서비스를 포함하는 툴을 선택함으로써, 안심하고 툴을 선택할 수 있으며, 툴을 구매에 따른 투자 금액도 보호를 받을 수가 있는 것입니다. 더 나아가 기능적 안전성은 지원 서비스는 안전성과 관련해 직접적으로 적용되는 요구사항이 없으나 높은 수준의 무결성 및 가동률 요구조건을 적용 받는 고객에게도 매우 유용할 수가 있습니다.