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

E/E 아키텍처, 시각화 및 시뮬레이션, 소프트웨어 팩토리

차량 기능을 정의하는 데 있어 소프트웨어가 매우 중요하기 때문에 SDV(소프트웨어 정의 차량)가 부상하고 있습니다. 이러한 변화 덕분에 차량의 수명이 다할 때까지 기능을 계속 추가할 수 있는 기회가 생겼습니다. 차량은 빈번한 소프트웨어 업데이트가 가능하도록 중앙화된 HPC(고성능 컴퓨팅) 플랫폼, SOA(서비스 지향 아키텍처), CI/CD(지속적 통합 및 지속적 배포)를 통한 “소프트웨어 팩토리”를 갖춘 새로운 E/E(전기/전자) 아키텍처로 발전하고 있습니다. 자동차 소프트웨어의 복잡성이 증가함에 따라 소프트웨어 아키텍처, 재사용, 통합에 대한 역량이 새롭게 요구되고 있습니다.

모델 기반 설계를 통해 엔지니어링 팀은 이러한 문제를 다음과 같은 방법으로 해결할 수 있습니다.

  • HPC, 영역 컨트롤러, ECU 전반에서 소프트웨어 재사용
  • 자동화를 통한 안전 및 품질 요구사항 충족
  • 시뮬레이션의 조기 검증과 소프트웨어 통합을 통한 시프트 레프트
  • 고품질 소프트웨어를 만들 수 있도록 분야별 전문가의 역량 강화

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

HPC와 영역 컴퓨터로의 전환은 애플리케이션 소프트웨어를 하드웨어에서 분리하는 새로운 차량 E/E 아키텍처를 통해 지원됩니다. 기존 애플리케이션 소프트웨어의 일부가 ECU에서 HPC와 영역 컴퓨터로 옮겨가게 됩니다. 이 작업을 수행하려면 해당 소프트웨어 컴포넌트를 모놀리식 신호 기반에서 비모놀리식 서비스 지향 신호 기반으로 재설계하고 리팩터링하여 SOA에 연결해야 합니다. 이러한 마이그레이션을 지원하고 새로운 애플리케이션 소프트웨어 컴포넌트를 통합하고 검증하려면 소프트웨어 아키텍처 개발용 툴이 필요합니다.

Simulink 및 System Composer을 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 소프트웨어 아키텍처 구축 및 소프트웨어 할당의 상충관계 분석 수행
  • 시스템 공학 및 소프트웨어 개발 툴의 통합을 통한 요구사항 및 설계와 소프트웨어 제품의 동기 상태 유지
  • 자동 코드 생성을 통해 HPC, 영역 컴퓨터, ECU 전반에서 소프트웨어 재사용

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

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

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

소프트웨어 팩토리에서 공정 자동화 및 데스크탑 컴퓨터에서 클라우드로 확장

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

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

제품

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