기능안전(Functional Safety)

SW Tool Qualification

깡또아빠 2017. 6. 20. 16:49

기능안전 관련된 요구사항 중 프로젝트에서 활용되는 SW Tool에 대한 신뢰성을 확인하는 부분이 있다.

ISO 26262으로 처음 이를 접한 사람의 경우 난감해 하는 경우가 있다. IEC 61508에서 보다 상세화된 부분에 복잡하게 느낄수도 있다.

 

이러한 부분을 간단히 정리하고자 한다.

 

SW Tool Qualification의 목적은

  • 기능안전 프로젝트에서 활용되는 SW Tool를 적용하는 경우, 필요한 신뢰 확보 수준을 결정하기 위함
  • SW Tool이 Safety와 관련된 Item/Element를 개발하는 동안 사용의 적합성을 확인하기 위함

여기서 적합성 확인이란 관점은 다음의 내용을 포함한다.

1. SW Tool이 안전 요구사항을 위반할 수 있는 잠재요소(오류)를 가지고 있는가?

2. 프로젝트/프로세스 테일러링(Tailoring)을 하여도 ISO 26262에서 요구하는 활동에 대해 수행 가능한가?

 

SW Tool Qualification의 범위는

  • ISO 26262 요구사항을 포함하여 프로젝트를 수행하는데 있어서, 시스템, 하드웨어, 소프트웨어 Element 개발에 사용되는 소프트웨어 도구 전부 해당
  • 이러한 도구의 범위는 아래의 모든 도구 모두가 해당
    1. 상업적 SW Tool
    2. 오픈 소스 SW Tool
    3. 프리웨어 SW Tool
    4. 쉐어웨어 SW Tool
    5. 사내에서 개발된 SW Tool

 

SW Tool Qualification은 언제 수행하는 것이 바람직할까?

프로젝트에 적용하기 전에 이미 보유한 SW Tool에 대해서는 Qualification을 사전에 수행하는 것이 바람직하다.

별도로 SW Tool을 구입하는 경우 Qualification을 고려하면 된다.

 

SW Tool도 결국 프로젝트의 life cycle 안에서 이뤄지는 개발 범위에 따라 달라지므로, Tailoring 이후에 아래와 같이 수행하길 권장한다.

 

 

점선으로 한정되어 있는 부분에 대해서 좀 더 설명한다.

 

SW Tool Chain 구성

조직에서 보유한 SW Tool 리스트를 참고하여, 프로젝트 생명주기 동안 사용되는 SW Tool을 식별한다.

식별 시, SW Tool의 이름, 버전, 공급사 등의 정보를 함께 기재하여 사용 판단 근거를 기록한다.

SW Tool의 목적을 포함하여 SW Tool Chain을 구성한다.

 

참고로 SW Tool Chain을 표로 정리할 수 있지만, 그림으로 그려보면 SW Tool 간의 연계성을 확인해볼 수 있다.

 

SW Tool 평가

TI (Tool Impact), TD (Tool error Detection)을 고려하여 TCL을 결정한다.

TCL (Tool Confidence Level)이 2 또는 3 으로 결정된 경우에 Qualification을 수행한다.

 

TI: SW Tool의 오류로 인하여 Safety와 관련된 아이템이나 엘리먼트에 오류가 발생할 가능성을 말한다.

TI 1: 오류 발생 가능성이 없다는 논거/근거 있음

TI 2: TI가 아닌 모든 경우에는 TI 2로 결정

 

TD: SW Tool의 오류를 감지, 혹은 방지하는 수단, 오류 출력을 검출하기 위해 사용되는 수단의 신뢰 정도를 말한다.

TD 1: 오류 감지, 오류 방지, 오류 출력의 검출의 신뢰 수준이 높음

TD 2: 신뢰 수준이 중간

TD 3: 그 외 모든 경우

 

참고로,TD 2를 결정할 수 있을까? 본인의 경우 정성적인 평가, 분석을 우리는 보수적으로 해야 한다고 생각한다. 그런 의미에서 TD 2와 같은 애매모호 할 수 있는 경우는 TD 3로 판단하는 것이 적절하지 않을까 생각해 본다.

 

위의 TI, TD의 등급을 고려하여 아래와 같이 TCL을 결정할 수 있다.

 

 

SW Tool Qualification 수행

SW Tool이 기능안전 프로젝트의 ASIL에 부합하는 신뢰성을 갖추고 있는지 확인하는 작업이다.

Qualification을 수행하고 그 결과가 TCL 1로 재 평가 되지 않는 다면, 프로젝트 생명주기 동안 사용하는 것을 비 권장한다.

 

a. TCL 2로 결정되면

 

b. TCL 3로 결정되면

 

1a부터 1d까지의 방법들은 동일한 반면에 TCL 값과 ASIL에 따라 High recommend 하는 방법에 차이가 있다.

 

1a의 Increased confidence from use 를 적용하는 경우 아래를 참고해 보자.

- Used for a longer period of time in a dedicated version?

- Are all known issues / constraints documented

- Do we have a "user manual" for this tool?

1b의 Evaluation of the tool development process

- Tool developed according an official quality management standard?

 

1c의 Validation of the tool

- Check the tool behavior during / after application of not specified input

- Crosscheck via another independent tool (Spectre vs. hSpice)

- Pure testing of requirements implementing the functions related use cases (only if you have access to source)

 

1d의 development in accordance with a safety standard

- Tool developed acc. safety-related standard (e.g. ISO 25119, DO-178C (avionics))

 

참고로, 만약에 DO-178C를 만족하면 이미 SW Tool 신뢰도는 충분하다고 판단할 수 있다고 독일 전문가가 말했던 기억이 난다. 이 부분은 별도로 다음에 설명한다.

 

다음의 몇 가지 예시를 두고 SW Tool Qualification에 관련 내용은 정리하도록 한다.

 

Example1: Editor for "Notepad"
Documentation:
- Official name: "MS Editor"
- Used version: 5.1
- Used cases: text file used for the documentation of development (comments, etc.)
Off-line or On-line?
Off-line tool , because only used during development and not during run-time

Tool impact?
Tool output has No immediate impact on executable code --> TI1 --> TCL 1

 

Example: "Memory complier"
Documentation:
- Official name "memory complier xyz"
- Used version: 2.3
- Use case: Complier generates SRAM RTL code to customer

Off-line tool?
Off-line tool. Because only used during development

Tool impact?
Tool output has immediate impact on RTL code
--> TI2
--> Evaluation of error detection capabilities

Tool error detection:
Malfunction: Complier output contains fatal errors and leads to not valid RTL code

Error detection points?!
- Error will be detected during gate level net list complication of the RTL code (error detection point 1)
- Post build verification testing (error detection point 2)
--> TD 1 --> TCL 1

 

보다 상세한 내용을 원하는 경우에는 별도로 연락 주시기 바랍니다.

 

오늘도 스마일 & 화이팅!

'기능안전(Functional Safety)' 카테고리의 다른 글

IEC 61508 Introduction 1/2  (0) 2018.05.01
Safety mechanism (ISO 26262-4 partialy)  (1) 2018.04.30
ISO 26262 프로세스 접근 시 고려사항  (0) 2017.06.20
ISO 17894 소개  (1) 2017.06.20
SEooC 정의  (0) 2017.06.19