기능 안전

IEC 61508, ISO 26262, EN 50128 및 IEC 62304에 따라 빌드 툴체인의 유효성을 검사하는 방법

IEC 61508, ISO 26262, EN 50128 및 IEC 62304에 따라 빌드 툴체인을 검증하는 방법

TI는 IEC 61508, ISO 26262, EN 50128 및 IEC 62304에 따라 안전이 중요한 애플리케이션에서 사용할 수 있도록 IAR 임베디드 워크벤치 for Arm, RISC-V, STM8, Renesas RX, RL78 및 RH850에서 인증된 버전의 빌드 체인을 제공합니다. 이 기사에서는 인증의 의미와 프로젝트에서 이 인증을 활용하는 방법을 살펴봅니다. 포함된 기능 안전 서비스는 애플리케이션의 공식적인 인증 여부와 관계없이 실제로 유용할 수 있습니다.

임베디드 표준

안전 인증을 위한 공식 표준은 오래 전부터 존재해 왔지만, 지난 몇 년 동안 특히 임베디드 분야에서 이러한 표준에 대한 관심과 사용이 급격히 증가했습니다. 인증 및 인증된 최종 제품에 대한 이러한 관심 증가는 부분적으로는 법적 요구에 따른 것이지만, 안전 인증이 의미하는 승인 도장을 획득하는 것이 생산 회사의 경쟁 요소가 되기도 했습니다.

기능 안전에 관한 여러 표준을 포괄하는 국제 표준은 IEC 61508이며, 2010년에 두 번째로 대폭 개정된 버전이 나왔습니다. 이 표준과 이 표준에서 파생된 표준은 현재 공정 산업, 철도, 빌딩 자동화 등 신뢰성과 안전에 대한 요구 사항이 있는 모든 종류의 산업에서 사용되고 있습니다. 자동차 시스템에서는 부문별 표준인 ISO 26262가 사용됩니다. EN 50128은 철도 애플리케이션의 안전 관련 소프트웨어에 대한 유럽 표준이며 IEC 61508에서 파생된 표준이기도 합니다. 국제 표준 IEC 62304는 의료용 소프트웨어 및 의료 기기 내 소프트웨어 개발에 대한 수명 주기 요구 사항을 지정하는 표준입니다.

검증 및 자격 부여

안전에 중요한 기능 또는 기능 안전 요구 사항이 있는 프로젝트를 시작하려는 경우, 사용하는 도구가 안전 관련 개발에 적합하다는 인증을 받아야 한다는 사실을 이미 알고 계실 것입니다. 개발 도구를 인증하는 방법에 대한 정확한 요구 사항은 작업하는 표준과 오작동하는 제품의 중요도에 따라 어느 정도 다릅니다. 또한 도구의 특성에 따라 달라지는데, 제품에 들어가는 코드를 생성하는 컴파일러는 소스 코드 메트릭 도구보다 검증하기가 더 까다롭고, 이는 다시 버전 관리 시스템이나 요구 사항 관리 시스템보다 검증하기가 더 까다롭습니다.

다양한 표준은 안전 무결성, 즉 제품에 할당되는 중요도 수준에 대한 정의가 다르며, 도구를 분류하는 방식도 다릅니다. 예를 들어 IEC 61508에서는 컴파일러와 같은 도구는 인증을 받는 것이 바람직하다고 명시하고 있지만 인증이 무엇을 의미하는지는 공식적으로 정의하고 있지 않습니다. 또한 해당 도구가 사양 또는 설명서를 준수하는 것으로 검증되어야 한다고 명시하고 있습니다. 최악의 경우, 적절한 테스트 증거를 제시할 수 없는 한 자체 프로젝트에서 도구를 완전히 테스트해야 한다는 뜻입니다. 또한 도구에 대한 신뢰 수준을 정의하기 위해 평가를 수행해야 합니다.

또 한 가지 고려하고 평가해야 할 사항은 안전이 중요한 제품의 전체 수명 주기 동안 도구를 지원할 수 있는 도구 제공업체의 역량입니다.

이 모든 것을 종합하면 하나의 도구와 하나의 프로젝트에만 해당되는 다소 방대한 양의 작업이 남을 수 있습니다... 이것이 바로 도구 체인 인증의 배경입니다.

인증 및 검증!

안전이 중요한 개발에서 사용하기 위한 도구의 인증은 실제로 무엇을 의미할까요? 독립적인 제3자(이 경우 TÜV SÜD)가 개발 활동, 문제 처리 절차, 테스트 및 검증 활동을 평가하고 도구가 IEC 61508, ISO 26262 및 EN 50128, Arm, RX 및 RL78의 경우 IEC 62304의 요구 사항을 충족함을 인증하므로 도구 사용을 정당화하기 위해 수행해야 하는 작업량이 대폭 줄어든다는 것을 의미합니다. 이는 또한 프로그래밍 언어로 C 또는 C++를 선택하는 경우 툴체인이 탁월한 선택이라는 것을 의미합니다.

우리가 알고 있는 수명 연장

인증된 툴을 선택하면 모든 것이 잘 되는 건가요? 글쎄요... 고려해야 할 한 가지는 필요한 지원 수준과 툴체인에 대한 지원 수준이며, 이는 프로젝트 기간에만 국한되지 않고 제품의 전체 수명 주기를 포함합니다. 도구가 오래되어 최신 버전으로 대체된 경우 도구 공급업체가 도움을 주지 않는 것은 당연한 일입니다. 이러한 입장의 문제점은 도구 업데이트를 최대한 피해야 하는 일반적인 안전 관련 프로젝트의 요구와 완전히 상반된다는 것입니다.

이전에 인증을 받은 도구에 대한 버그 수정이 업데이트에 기능 업데이트까지 포함된 경우, 기본적으로 도구의 재인증 또는 변경 사항에 대한 정교한 영향 분석과 테스트 작업이 필요하기 때문에 버그 수정을 받는 것은 아무런 소용이 없습니다.

가용성에 대한 요구가 높은 안전 관련 소프트웨어 또는 서비스를 개발하는 고객과 수년간 협력하면서 '고정' 버전에 대한 지원 제공 능력이 매우 중요하다는 사실을 알게 되었습니다. 여기서 고정 버전이란 버그 수정만 적용되고 새로운 기능이 제공되지 않는 도구 버전을 말합니다. 이러한 버전은 필요한 기간 동안 계속 유지 및 지원될 수 있습니다. 과거에는 특정 고정 버전 및 관련 지원 서비스가 필요한 고객을 위해 맞춤형 특별 계약을 제공했습니다. 하지만 이번 인증을 통해 IAR 임베디드 워크벤치의 기능 안전 버전을 사용하는 모든 고객에게 고정 버전 개념과 지원을 제공할 수 있게 되었으며, 이를 간소화된 일반 판매용 패키지로 제공할 수 있게 되었습니다.

계속

안전 제품에는 어떤 기능이 포함되어 있나요? 간단히 설명하면 다음과 같습니다:

  • 인증 및 동결된 특정 버전의 툴이 포함된 기능 안전용 IAR 임베디드 워크벤치 특별 패키지를 제공합니다. 이 패키지는 Arm, RISC-V, STM8, RL78, RX 및 RH850에 사용할 수 있습니다.
  • 인증서가 어떤 상황에서 유효한지 설명하는 TÜV SÜD의 인증서 보고서.
  • 안전 가이드는 다양한 안전 표준 용어로, 안전 관련 개발에서 툴 체인을 어떻게 적용할 수 있는지 설명하는 안전 매뉴얼입니다. 이 가이드는 툴 체인을 설치할 때 고려해야 할 사항부터 언어 확장 및 컴파일러 프래그마를 처리하는 방법까지 모든 것을 다룹니다.
  • 기능 안전 지원 및 업데이트 계약에는 고객이 계약에 참여하는 한 인증된 버전에 대한 지원 및 사전 검증된 버그 수정 업데이트가 포함됩니다.
  • 툴체인에서 새로 알려진 문제에 대한 정기적인 업데이트.

요컨대, 인증된 빌드 도구 체인을 선택하면 최소한의 번거로움으로 안전 관련 프로젝트에 사용할 수 있습니다. 적절한 지원 서비스가 포함된 도구를 선택하면 도구 선택을 보호하고 도구에 대한 투자를 보호할 수 있습니다. 또한 기능 안전 지원 서비스는 직접적인 안전 관련 요구 사항이 없더라도 제품에 다양한 고무결성 또는 고가용성 요구 사항이 적용되는 경우에도 유용할 수 있습니다.