Trends in Automotive Software Architecture

juyeon park
5 min readOct 16, 2023

--

오토모티브 환경에서의 차량 시스템은 하드웨어 부품과 제어기 간의 이해관계로 개발환경이 기존 소프트웨어와는 다르게 변화해왔다. 아키텍처 수업을 들었을 때, 짧게 지나간 이야기로 오늘 역사 시간처럼 내용을 풀어서 조금 더 구체적으로 기술해보고자 한다.

전장화 고도화 이전

과거에는 Supplier는 각 OEM 별 요구사항에 맞춰 각기 다르게 작은 컴퓨터 개념이라 할 수 있는 MCU를 개발했다. 그리고 OEM 회사는 전장화가 필요한 부품별로 요구사항을 정의했다. (전장화가 필요한 부품은 차에 들어가는 전자장치를 의미한다. (아주 단순하게 input 이 있으면 output 이 있는 컴퓨터라고 이해하면 된다.)

여기서 OEM이란, Original Equipment Manufacturer 의 약자로, 제품에 사용되는 부품이나 구성 요소를 위탁하여 제조하는 방식을 채택한 업체를 의미한다. 대표적인 예로는 현대자동차, 독일 3사 (벤츠, BMW, 아우디), 폭스바겐 등 일반적으로 생각하는 완성차 업체이다.

즉, 각 자동차 회사에서 원하는 요구사항에 맞춰 매번 컴퓨터를 다르게 만들었다. (낮은 상호작용)

전장화 고도촤 초기

이때, 아키텍처가 등장하게 된다.

옛날의 컴퓨터는 진공관에서부터 트렌지스터, 집적 회로 등 다양한 방향으로 제안되었다. 이때, 폰 노이만의 아키텍처는 컴퓨터 시스템의 기본적인 구조 및 동작 방식을 정의했으며, 대부분의 일반적인 컴퓨터 시스템이 이 아키텍처의 틀을 따르게 되었다. 이처럼 차량 시스템도 정형화된 틀을 만들게 되었다.

OEM사는 전장 MCU간 상호작용을 설계 (아키텍처의 등장)하고 그 아키텍처 내 인터페이스를 설계하여 이에 맞는 전장 소프트웨어를 Supplier에게 요구하게된다.

Supplier는 자사의 부품을 위한 코드를 작성하고 이를 OEM 요구사항 별로 커스터 마이징 하여 납품했다. 큰 의미에서는 아키텍처가 도입되었지만, 각 OEM에 맞춰 각각의 아키텍처가 적용되어야 했으므로 결과적으로는 비용이 낭비 되었다.

전장의 고도화

  1. OEM사 관점에서 Application 아키텍쳐를 설계하였다. 당시에는 하드웨어 및 Basic Software를 고려하지 않았다. OEM 사는 전체적인 관점에서 차량 네트워크를 설계하고 구조를 개발했다.
  2. OEM 사에서 설계한 Application 아키텍처 모델을 OEM사가 직접 개발하여 Object 형태로 Supplier에 전달했다.
  3. Supplier는 OEM으로부터 전달받은 Object 형태의 Application에 Supplier 의 고유 Application을 추가하여 Application 아키텍처 설계를 마무리했다.
  4. OEM사는 전체 System에서 타겟 ECU 별로 세부 요구사항을 분리하여 가각의 Supplier에 요구사항을 전달했다.
  5. Supplier에서는 전달된 OEM의 요구사항과 Application을 구동하기 위하여 MCAL을 포함한 Basic Software를 Configuration했고 — AUTOSAR
  6. 이렇게 Configuration 한 내용은 각 모듈 별로 Generator를 통해 코드가 생성되고 별도로 구현한 Application 코드와 함께 최종 타겟 용 실행파일로 컴파일 되었다.

MCAL은 한마디로 컴퓨터의 Device Driver라고 할 수 있다. MCAL로 제공된 Device Driver는 OS가 제공되지 않는 Embedded 환경에서도 동작이 가능하다. 즉, AUTOSAR용 MCAL은 AUTOSR에서 규정한 API 이름을 사용해 Device Driver를 제어할 수 있도록 제공한다.

OEM 제어 강화

AUTOSAR 체제 하에서 최상위 Supplier들은 제품 생산에 필요한 MCU를 직접 개발하고 MCU별 FBL(Flash BootLoader)까지 직접 개발하게 되었다.

MCU 매입에 대한 규모의 경제 실현으로 이러한 Supplier들의 협상력이 강화되었고, OEM의 요구에 맞춰 Supplierr가 개발하는 것이 아니라 Supplier의 제안에 맞춰 OEM이 설계를 진행하는 주객이 전도되는 상황이 발생하였다.

반면, AUTOSAR를 사용하지 않고 고유한 중앙집중식 아키텍처를 사용하는 테슬라의 성공으로 AUTOSAR의 단점이 부각되었다. 테슬라의 개발 방식은 자체 아키텍처를 개발하고 컴포넌트 별 코드를 개발해 독립적인 설계가 가능하다.

현재는, AUTOSAR Adaptive의 도입과 함께 Mobilegene과 같은 FBL 개발을 통해 직접 통제할 수 있는 자체적 소프트웨어 생태계가 확산되고 있다.

AUTOSAR Classic Platform은 분산 시스템 및 실시간 제어를 위한 전통적인 AUTOSAR 아키텍처를 따른다. 반면 AUTOSAR Adaptive Platform은 중앙 집중식 아키텍처를 가지며, 다중 컨트롤러 간의 통신과 더 높은 성능을 제공하기 위한 설계를 채택합니다.

즉, 표준화 된 시스템을 만들고자 도입되었던 AUTOSAR의 도입은, Supplier사에게 규모의 경제를 불러일으켜, 주객이 전도되는 분산방식의 단점이 되었다.

“공동으로 사용할 수 있는 아키텍처를 제안하는 것”은 항상 맞는 방식이라고 엔지니어로서 생각했었는데, 외부적인 이유로 분산되는 구조를 도입했을 때, 통제되지 않는다면 단점일 수 있다는 생각을 처음 하게 되었다.

--

--