소프트웨어 정의 차량 개발 가속화

MATLAB, Simulink, System Composer 및 Polyspace

개발 팀은 SDV(소프트웨어 정의 차량)로 지속적 소프트웨어 릴리스 개발, 소프트웨어 변경 사항의 리드 타임 단축, 배포 실패 최소화와 같은 새로운 역량을 쌓아야 합니다. 그와 동시에 플랫폼 팀은 차량 컴퓨터와 영역 컨트롤러를 위한 새로운 소프트웨어 개발 환경을 만들고, CI/CD(지속적 통합/지속적 배포) 시스템을 설정하고, 시스템 개발자와 소프트웨어 개발자 간의 협업을 촉진해야 합니다. MATLAB, Simulink 및 Polyspace를 통해 이 팀들은 조기 검증, 소프트웨어 재사용, 툴 통합을 통해서 자동차 요구사항을 충족하면서 제품 출시를 가속화할 수 있습니다. 개발 팀과 플랫폼 팀은 이러한 제품으로 다음과 같은 작업을 수행할 수 있습니다.

  • 타겟 플랫폼 독립적 소프트웨어 기능 설계 및 AUTOSAR 등의 신호 기반 및 서비스 지향 미들웨어로 배포
  • 가상 차량 및 가상 ECU 시뮬레이션을 사용해 조기 및 지속적 검증 수행
  • 기능 안전(ISO® 26262), 품질(Automotive SPICE® 또는 A-SPICE) 및 보안 목표 달성
  • CI/CD 및 DevOps 방식을 사용한 소프트웨어 통합 및 테스트 자동화
  • 협업, 시뮬레이션, 차량 데이터 처리에 클라우드 활용

신호 기반 및 서비스 지향 애플리케이션의 설계, 시뮬레이션 및 배포

SDV는 신호 기반 애플리케이션과 서비스 지향 애플리케이션을 차량 컴퓨터 및 영역 컨트롤러와 함께 최신 EE(전기/전자) 아키텍처에 통합합니다. 이를 위해 개발자는 새로운 SOA(서비스 지향 아키텍처)와 기존의 신호 기반 아키텍처를 타겟팅해야 합니다.

SOA를 통해 개발자는 런타임 중에 동적으로 발견, 게시, 구독, 재구성되는 모듈형 서비스를 유연하게 구축할 수 있습니다. 이로써 기능 및 함수 수준의 소프트웨어 업데이트가 가능해집니다. SOA는 AUTOSAR, DDS, ROS 등의 산업 표준과 사내 프레임워크에 널리 통합되어 왔습니다. Simulink 및 System Composer를 통해 다음과 같은 작업을 수행할 수 있습니다.

  • AUTOSAR Classic 및 Adaptive를 비롯한 신호 기반 및 서비스 지향 아키텍처의 소프트웨어 애플리케이션 작성
  • 이런 소프트웨어 애플리케이션을 상용 미들웨어 또는 사내 미들웨어에 통합
  • 애플리케이션 소프트웨어 컴포넌트 및 서비스 모델링 및 시뮬레이션
  • 해당 소프트웨어 애플리케이션의 프로덕션 C/C++ 코드 자동 생성

가상 차량 시뮬레이션을 사용한 소프트웨어 통합의 시프트 레프트

빈번한 OTA(무선) 소프트웨어 업데이트로 인해 프로토타입 하드웨어로 새로운 소프트웨어 구성을 테스트하는 방식은 이제 실현 불가능합니다. 또한 소프트웨어 릴리스의 리드 타임 단축을 위해선 통합 테스트가 자동화되어야 합니다. 지속적 통합 파이프라인에 통합된 가상 차량 시뮬레이션으로 소프트웨어 통합을 MIL(Model-in-the-Loop) 및 SIL(Software-in-the-Loop) 테스트로 전환하면 이러한 두 문제를 모두 해결할 수 있습니다. Simulink, Virtual Vehicle ComposerSimulink Compiler를 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 가상 차량 모델 어셈블리 자동화 
  • Simulink에서 모델 및 코드 기반 컴포넌트 조합으로 구성된 가상 ECU(전자 제어 장치) 시뮬레이션 구축, 프로덕션 BSW(Basic Software) 및 프로세서 시뮬레이션을 위한 타사 툴에 통합
  • 지속적 통합 파이프라인에 가상 차량 및 가상 ECU 모델 배포

품질, 안전 및 보안 목표 달성

SDV의 소프트웨어 애플리케이션은 안전 및 보안 표준을 준수하는 동시에 품질 목표를 충족해야 합니다. 개발 팀은 모델 기반 설계 참조 워크플로 내에서 MATLAB 및 Simulink를 사용하여 UN-ECE WP.29를 비롯한 A-SPICE 공정 표준, ISO 26262 기능 안전 표준, ISO 21434 사이버보안 표준에서 요구되는 목표를 달성할 수 있습니다. 모델 검증, Embedded Coder, Polyspace 코드 검증을 위한 MATLAB 제품은 ASIL A~D에 대한 ISO 26262 표준에 따라 TÜV SÜD의 사전 인증을 획득했습니다. 개발자는 이 제품들을 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • 요구사항을 아키텍처, 설계, 테스트 및 코드로 추적 
  • 소프트웨어에서 심각한 런타임 오류의 부재 증명 
  • A-SPICE 및 ISO 26262 등의 품질 및 안전 표준 충족을 위해 모델 및 코드 검증 자동화
  • 표준 준수 여부 검사 및 모델과 코드의 품질 측정 
  • CWE™, CERT®-C, MISRA™, ISO 21434 등의 표준 준수 여부 및 취약점을 검사하여 소프트웨어 보안 강화
품질, 안전 및 보안 워크플로.

공정 자동화 및 데스크탑 컴퓨터에서 클라우드로 확장

대규모로 자동화를 구현하는 것은 소프트웨어 개발에 드는 수고를 줄이는 데 있어서 핵심적 역할을 합니다. CI/CD와 같은 개발 기술은 개발자에게 자동화를 가져다 주는 동시에 반복 가능한 공정을 통해 신뢰성을 보장할 수 있습니다. 또한 클라우드 기술은 소프트웨어 빌드 및 시뮬레이션을 가속화하고 대규모 데이터셋을 처리하고 분산된 소프트웨어 팀의 협업을 촉진하여 확장을 가능케 합니다. MATLAB 및 Simulink를 사용하여 다음과 같은 작업을 수행할 수 있습니다.

  • Jenkins®, GitLab® CI/CD, GitHub Action, Azure® Pipelines 등의 CI/CD 시스템에 통합
  • AWS® S3와 Azure Blob 등의 시스템에서 클라우드 기반 데이터 처리 및 필요에 따라 확장 
  • MATLAB Parallel Server를 사용한 클러스터 및 클라우드로 시뮬레이션 확장
  • GPU에서의 신경망 훈련 가속화
  • Git 및 SVN 소스 컨트롤로 협업 개발  

제품

소프트웨어 정의 차량 애플리케이션의 개발에 사용되는 제품에 대해 자세히 알아볼 수 있습니다.