대부분의 ECU는 특정 기능 하나를 수행하며, HW와 SW가 밀접하게 결합되어 있다. ECU 간 통신은 설계 초기 단계에서 정적으로 정의된 신호 기반 통신을 사용한다. 주로 CAN, LIN 같은 저속 네트워크와 하드 실시간성을 필요로 하며, 비용 효율적인 마이크로컨트롤러를 사용한다.
하나의 ECU, 하나의 기능이라는 철학에 기반한다. 그래서 SW 기능은 차량 수명 동안 거의 변경되지 않는다. 전기적 신호를 기반으로 액추에이터를 제어하며, 기계식 시스템을 전자적으로 대체하거나 보완하는 역할을 한다.
AUTOSAR Classic은 이러한 deeply embedded system의 요구사항에 최적화되어 있으며, 신뢰성과 표준화된 구조를 제공한다.
고도 자율주행, OTA 업데이트, 차량-백엔드 연결 등은 고성능 연산과 유연한 SW 구성을 요구한다. 차량 SW는 주기적으로 업데이트되어야 하고, 외부 시스템 변화에 대응해야 한다.
기존의 AUTOSAR Classic은 이런 동적인 환경을 처리하기에는 한계가 있다.
자율주행의 핵심인 환경 인식, 행동 계획, 백엔드 통신 등의 복잡한 애플리케이션을 처리해야 한다. 이는 Ethernet 기반의 고대역폭 통신을 필요로 하며, IP 기반 프로토콜을 통해 외부 시스템과 연동이 용이하다. 이러한 미래 지향적 요구사항을 충족시키기 위해 AUTOSAR Adaptive 플랫폼이 도입되었다.
차량 내부에서 고성능 연산을 수행하는 중앙 컴퓨팅 클러스터 역할을 한다. AUTOSAR Classic ECU와 통신하며, 센서와 액추에이터를 제어하는 기능은 Classic 플랫폼에 위임한다. 그리고 백엔드와 연결되어 차량 외부 시스템과의 연동을 담당한다.
AUTOSAR Adaptive는 고성능 ECU 또는 중앙 제어 유닛에서 실행되는 복잡한 애플리케이션을 지원하는 아키텍처이다. Classic AUTOSAR가 정적, 단일 기능 중심이라면, Adaptive는 동적, 고성능 분산 처리 중심으로 구성된다. 아래 다이어그램은 Adaptive 플랫폼의 계층 구조를 보여준다.

※ 주요 계층 구성
① Application Layer:
ara::com이라는 미들웨어로 상호 통신② AUTOSAR Runtime Adaptive Environment(ARA):
③ Foundation Software
④ Basic Software
※ ara::com?
ara::com은 Adaptive Software Components 간의 데이터 통신을 지원하는 미들웨어 서비스이다. Classic AUTOSAR의 RTE가 컴포넌트 간 통신을 중재했다면, Adaptive에서는 ara::com이 그 역할을 수행한다.
중요한 점은, ara::com은 Adaptive Applications이 호출할 수 있는 여러 서비스 중 하나일 뿐이다. 이는 다양한 서비스가 존재함을 시사하며, 예를 들어 시간 관리 서비스(ara::phm), 진단 서비스(ara::diag) 등도 포함된다.
Classic AUTOSAR와 Adaptive의 큰 차이 중 하나는 애플리케이션의 빌드 및 실행 방식입니다.
Classic에서는 대부분의 소스가 하나의 단일 실행 파일(monolithic binary)로 컴파일된다. 반면, Adaptive에서는 다음과 같은 방식으로 실행된다.
각 애플리케이션은 독립적으로 실행 가능한 단일/멀티 스레드 프로세스이다. 즉, 애플리케이션은 시스템 부팅 이후 개별적으로 동작하며, 업데이트도 유연하게 수행된다. 이 구조는 컨테이너 기반 실행 환경이나 OTA(Over-The-Air) 업데이트 등에도 적합하다.
| 항목 | AUTOSAR Classic | AUTOSAR Adaptive |
|---|---|---|
| 통신 방식 | 버스 네트워크(CAN, LIN 등)를 활용한 신호 기반 통신 | Ethernet 및 SOME/IP를 활용한 서비스 기반 통신 |
| 구현 대상 기능 | deeply embedded 기능 구현(예: 엔진 제어, 제동, 에어백 제어) | 고성능 및 연산 집약적 기능 구현(예: OTA 업데이트, ADAS, 인포테인먼트, 센서 융합, 동적 애플리케이션 선택 등) |
| 실행 중 SW 업데이트 | 실행 중 소프트웨어 업데이트 불가 SW 컴포넌트 간 통신이 HW적으로 고정됨 | RTE가 애플리케이션과 독립적이므로 OTA 업데이트 가능 |
| SW 업데이트 방법 | ECU 전체 코드 교체 | 개별 애플리케이션만 제거/업데이트 가능 |
| 유연성 | 유연하지 않음 | 유연한 통합 환경 제공 |
| 실시간 요구사항 | us 단위의 하드 실시간성 요구 | ms 단위의 소프트 실시간성 요구 |
| 사용 언어 | C | C++ |
| 운영체제 필요 여부 | 불요 | POSIX 기반 OS 사용 |
| 스케줄링 및 통신 | AUTOSAR RTE를 사용해 SW 컴포넌트의 스케줄링 및 통신 수행 | OS를 활용한 스케줄링 및 통신 수행 |
| 설정 방식 | 모든 신호를 사전에 정적으로 설정 | 동적 설정 가능 애플리케이션 유연성 확보에 적합 |
<참고 자료>
전재욱 교수님, SDV 이해하기(K-MOOC), 성균관대학교 반도체시스템공학과, '24.12.09.~'25.02.28.