ASIL safety checker

TRACE32
Admin (토론 | 기여) 사용자의 2016년 6월 13일 (월) 15:17 판

(비교) ← 이전 판 | 최신판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 검색

차량 소프트웨어 개발과 안전 요구사항

오늘날 자동차의 제조 비용의 30%는 전자시스템이 차지하며 비중은 더 늘어날 것이다. 동시에 소프트웨어는 ADAS 및 차량 주변의 다른 기능들을 지원하기 위한 소프트웨어 역시 증가하고 있다. 멀티코어 마이크로컨트롤러를 사용가능 함에 따라 비용을 절감하기 위해 자동차 제조업체는 서로 다른 소프트웨어를 하나의 제어기에 통합하고 있다. 더 적은 하드웨어에 더 많은 소프트웨어가 들어가는 지금의 상황은 잠재적으로 간섭현상을 야기할 수 있기 때문에 소프트웨어 안전에 대한 도전이라고 볼수 있다.

 

무슨 의미인가 ??

자동차 임베디드 시스템에서 안전과 관련된 사항을 인식하고 예방하는 것이 더욱더 중요해지고 있다. ISO 26262에 따른 기능 안전 요구사항의 핵심은 “freedom from Interference” 이고, 따라서 안전 요구사항에 위반되지 않는다는 증거가 필요하다. 각각의 컨트롤 유닛이 해당 사항을 위반하지 않는지 증명하는 것은 간단할 수 있는 반면에 여러 어플리케이션이 하나의 컨트롤 유닛에서 병렬로 수행되는 것은 더 높은 난이도를 요구한다.

 

 


 

<Freedom from interference>

Absence of cascading Failures (1.13) between two or more elements (1.32) that could lead to the violation of a safety requirement

  • element = system or part of a system including components, hardware, software, hardware parts, and software units(ISO 26262, Part 1, Definition 1.32)

  • cascading failure = failure of an element of an item causing another element or elements of the same item to fail(ISO 26262, Part 1, Definition 1.13)

 

 


IF...


멀티코어 환경에서 모든 어플리케이션을 통합한 이후에 개발 프로세스가 거의 끝나갈 때 안전사항 위반을 발견하게 된다면?


 


OR...


개발 초기 단계에서 이러한 위반사항을 발견하기 위해 정적 검증과 유닛 테스트에 투자하는 시간을 줄이길 원한다면?


 


THEN...


그렇다면 어플리케이션을 실행하기 전에 안전 관련 이슈를 식별하기 위한 도움이 필요한지, 개발환경 구축에서 당신의 프로세스가 잘 통합되었는지 확인해야 한다.


 


WHAT IF YOU COULD...


프로젝트를 빌드하는 중에 안전사항 위반을 컴파일러 경고처럼 확인 할 수 있다면?


일반적인 메시지 대신 영향을 끼치는 코드가 무엇이고 그에 대한 설명을 볼 수 있다면?


V-model에서 요구되는 사양에 대해 서로 다른 ASIL 등급간에 읽기/쓰기 위반사항이 있는지 확인할 수 있는 프로토콜이 있다면?


나중에 기능 안전 전문가가 해야 할 안전 위반 사항 검증을 미리 개발자가 할 수 있다면?


 


WHAT YOU CAN DO


일반적인 정적 분석 도구들을 결합하거나 수동 코드 리뷰를 통해 Freedom from Interference 검증하려 애쓰지 마라. 위험상태가 뒤섞여 있는 시스템을 분석하기 위해 개발된 툴의 이점을 살펴보고, 해당 툴을 사용하여 안전 요구 사항을 검증하면 된다.


 


TASKING SAFETY CHECKER


기존의 전통적인 정적 분석 도구들과는 달리, TASKING Safety Checker ASIL을 식별하는 정적 분석 도구로 서로 다른 ASIL 요구사항을 가지는 소프트웨어 컴포넌트 사이에서 간섭 현상을 검출한다. 이러한 간섭은 ASIL을 식별하지 않는 다른 정적 분석 도구에서 소프트웨어 구조가 안전하고 표준에 준수하여 설계되었다고 검증된 경우에도 발견된다. 따라서 Safety Checker는 당신이 사용하고 있는 정적 도구의 이상적인 파트너가 될 것이고 전통적인 소프트웨어 테스트와 ISO 26262 요구사항 사이에서의 간격을 줄일 것이다.


 


TASKING Safety Checker는 코드와 데이터 오브젝트를 안전 클래스로 할당한다.(i.e 소프트웨어 통합 레벨). Safety Checker는 관련된 C 소스파일을 검사하고 검증된 데이터를 ELF object 파일이나 별도의 파일에 저장한다.(DWARF 디버그 포맷으로 바이너리 코드와 데이터 섹션에 영향을 주지 않음). 순차적으로 모든 파일의 검증 자료는 취합되고 사용자에게 피드백을 전달한다. 이러한 접근으로 당신의 코드를 검증할 수 있다.


 

Safety CheckTASKING VX-toolset for TriCore에서 완전히 통합되어 사용 가능하고 VX-toolset for RH850-에서 곧 사용 가능하다. 추가적으로 standalone 제품으로도 출시 될 계획이다.