차량용 GUI 소프트웨어와 기능안전성 표준 준수의 중요성
Qt Safe Renderer와 함께 안전한 UI 개발하기
2024년 01월호 지면기사  / 글|이민홍 부장, Qt그룹(Qt Group) 코리아

 

자동차 업계는 자율 주행이나 인포테인먼트 탑재 등 다양한 기술 발전이 이뤄지고 있다. 그 중 차량용 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 역시 경쟁력을 갖추기 위해 중요한 요소가 되었다. GUI 측면에서 ISO 26262를 만족하기 위해서는 하드웨어 시스템에 전원 공급이 중단되거나 하드웨어가 완전히 망가지기 전까지 차량 안전과 관련된 중요 정보를 클러스터 화면에 표시할 수 있어야 한다.

 
글|이민홍 부장, Qt그룹(Qt Group) 코리아



자동차 업계는 자율 주행이나 인포테인먼트 탑재 등 다양한 기술 발전이 이뤄지고 있다. 그 중 차량용 그래픽 사용자 인터페이스(Graphical User Interface, GUI) 역시 경쟁력을 갖추기 위해 중요한 요소가 되었다.

GUI 소프트웨어의 중요성 증가

차량용 소프트웨어에서 GUI 소프트웨어의 중요성은 지속적으로 증가하고 있다. 이러한 추세는 편의성 및 사용자 경험(User eXperience, UX) 향상, 첨단운전자보조시스템(ADAS) 및 자율 주행 시스템의 발전, 인터넷 연결성과 엔터테인먼트 시스템의 도입 등 크게 세 가지 요인이 있다.

최근 자동차는 운전자와 승객의 편의성 및 사용자 경험(UX) 개선을 위해 다양한 기능이 통합되고 있다. 여러 기능의 원활한 상호작용을 위해서는 직관적인 GUI가 필요하며, 이에 쉬운 개발과 유지보수를 지원하는 소프트웨어에 대한 관심도 커졌다.

ADAS 및 자율 주행 시스템이 점차 늘어나고, 자동차 업계는 완전 자율주행을 목표로 빠르게 발전하고 있다. 이러한 상황에서 시스템은 위급 시는 물론 어떤 상황에서도 운전자에게 중요한 정보를 제공해야 한다. 이때 다양한 센서 및 카메라를 통해 얻은 정보를 시각적으로 전달하는 역할을 하는 것이 바로 GUI 소프트웨어이다.

차량은 LTE 서비스나 스마트폰과 연결되어 인터넷 기능을 제공하고, 스마트폰 애플리케이션을 통합하여 사용자에게 다양한 정보와 엔터테인먼트를 제공하는 수준에 이르렀다. 이러한 연결성과 엔터테인먼트 시스템을 관리하고 편리한 인터페이스를 제공하는 역할을 하는 GUI 소프트웨어는 이제 하나의 경쟁력이 되었다.

ISO 26262 준수 요구사항

자동차 사고로 인한 인명 피해와 재산 피해는 엄청난 비용을 초래하곤 한다. 차량용 GUI 소프트웨어가 증가함에 따라 GUI 소프트웨어에 안전성 요구사항을 부과하는 ISO 26262와 같은 기능안전성(Functional Safety) 표준 준수 및 인증 획득의 중요성도 커졌다.

ISO 26262는 차량 내부 및 주변 환경에서의 안전성을 향상시키기 위해 개발된 국제 표준으로, 이러한 안전 문제를 예방하고 줄이기 위한 요구사항을 제시한다. 전 세계 주요 국가 및 지역에서 ISO 26262 준수를 법적 요구사항으로 제정하고 있으며, 이를 준수하지 않을 경우 해당 지역에서 제품 출시와 판매가 제한될 수 있다. GUI 측면에서 ISO 26262를 만족시키기 위해서는 하드웨어 시스템에 전원 공급이 중단되거나 하드웨어가 완전히 망가지기 전까지 차량 안전과 관련된 중요 정보를 클러스터 화면에 표시할 수 있어야 한다.

안전한 UI 개발 도구 선택: Qt Safe Renderer

기능안전성은 주로 자동차, 의료 기기, 항공우주 및 산업 자동화와 같은 분야에서 중요한 역할을 하는 개념이다. 이러한 분야에서는 소프트웨어 및 하드웨어 시스템이 예측 가능하게 동작하고, 장애 또는 오류 상황에서도 안전하게 작동해야 하므로 기능안전성 표준을 준수해야 한다. Qt Safe Renderer는 Qt 프레임워크의 일부로, 이러한 기능안전성을 보유한 소프트웨어 및 사용자 인터페이스(UI) 개발을 지원하기 위해 설계된 도구이다.
 

인증된 런타임 구성요소(Certified Runtime Component)    [출처=Qt Group]
 


‘안전한 UI’란 하드웨어가 망가지지 않는 한 안전과 관련된 정보를 끝까지 화면에 표시할 수 있어야 하며, 이는 ISO 26262에서도 규정하고 있다. Qt Safe Renderer는 해당 표준을 준수하도록 설계되어, 기능 안전 시스템에서 사용할 수 있는 안전한 UI를 디자인하고 개발할 수 있도록 지원한다. 또한, 실시간 응용 프로그램에서 안전한 그래픽 렌더링을 지원하는데, 이는 자동차와 같은 실시간 시스템에서 중요한 역할을 한다. Qt Safe Renderer는 Qt 프레임워크와 통합되어 익숙한 Qt 개발 환경에서 소프트웨어 및 UI를 개발할 수 있다는 장점이 있다. 이외에도 기능안전성 표준에 필요한 문서화 요구사항을 충족하기 위한 기능을 제공하며 안전 문서 생성 및 관리가 용이하다.

이처럼 기능안전성을 가진 UI 개발 도구를 사용하면 기능안전성이 필요한 분야에서 신뢰성 있는 소프트웨어 및 UI를 개발하는 데 도움이 되며, 기능안전성 표준을 준수하는 과정을 단순화하고 향상시킬 수 있다.

Qt Safe Renderer와 Axivion, Coco 및 Squish를 활용한 ISO 26262 준수 개발 과정

ISO 26262 준수를 위한 필수 안전 UI 요소(Safety-Critical UI Elements) 개발 과정은 대략적으로 다음과 같다.

 
 

표 1 - 소프트웨어 검증 항목 관련 표: ISO 26262-6:2016(E) – Functional safety



우선, 프로젝트 요구사항을 분석하고 ISO 26262와 같은 안전 표준을 고려하여 안전성 요구사항을 도출한다. 이 분석 내용을 기반으로 Qt Safe Renderer를 활용하여 안전한 UI 요소를 설계하고 개발한다. 그 다음, 다양한 솔루션을 활용하여 테스트를 진행한다. Axivion Suite 정적 코드 분석 도구를 사용하여 MISRA, AUTOSAR C++14, Code metrics, Clone, Cycle, Unreachable code 및 Qt 관련 코딩 규칙(Coding rule)이나 소프트웨어 아키텍처를 분석하여 GUI 소프트웨어의 코드 품질을 평가하고 안전성 문제를 식별한다. 

 

Axivion Suite의 정적 코드 분석 기능  [출처=Qt Group]
 


Coco를 사용하여 C, C++, C#, SystemC, Tcl 또는 QML로 작성된 GUI 소프트웨어의 테스트 커버리지를 측정하고 안전한 테스트 스위트를 개발한다. 그리고 UI 자동화 테스트 솔루션인 Squish를 통해 UI 객체 인식과 테스트 과정 녹화 기능을 활용한 손쉬운 테스트 케이스 작성, 이미지 기반 테스트, 테스트 결과 증빙을 위한 자동 스크린샷 또는 자동 녹화 기능 등을 활용하여 안전한 UI 요소를 검증한다.

검증을 완수하면 소프트웨어 테스트 케이스 및 검증 결과는 테스트 센터(웹 대시보드)로 자동 업로드하여 소프트웨어 품질을 관리할 수 있으며, 해당 내용을 문서화하고 ISO 26262 기능안전성 표준에 대한 보고서를 작성한다. 또한, ALM 툴과 연동하여 GUI 소프트웨어 개발 주기 동안 요구사항에서 검증까지 추적성을 확보하고, 이를 통해 해당 GUI 소프트웨어의 ISO 26262 준수 여부를 검증한다.
 
 


Squish, Coco 및 Test Center를 활용한 소프트웨어 동적 검증 워크플로 일원화 예시
 

이러한 과정을 통해 차량용 소프트웨어의 GUI 소프트웨어를 안전하게 개발하고 ISO 26262 표준을 준수할 수 있으며, 이 과정을 지원하는 Qt Safe Renderer, Axivion, Coco, Squish와 같은 도구가 중요하다.
 



AEM_Automotive Electronics Magazine


<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

PDF 원문보기

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)

  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP