Automotive Software

오토사 아키텍처 본문

클래식 오토사 (Classic AUTOSAR)

오토사 아키텍처

AutoSW 2020. 9. 17. 16:29

클래식 오토사 / 오토사 아키텍처

우선 아키텍처에 대해 간단히 알아보면, 오토사는 아래와 같이 크게 3개의 계층으로 구성된다. 사실 소프트웨어 컴포넌트 간의 인터페이스를 추상화해 주는 RTE를 제외하면 이미 많은 개발자들이 사용하는 기본적인 소프트웨어 구조와 크게 다를 것이 없다.

우리가 일반 PC상에서 구현하는 것과 같은 응용프로그램을 애플리케이션 계층(Application Layer)에 구현할 수 있고, 이 응용프로그램이 구동될 수 있도록 지원해주는 운영체제, 메모리/통신/하드웨어 관련 소프트웨어들이 베이직 소프트웨어(BSW) 계층에 구현되어진다.

굳이 PC 환경에서의 프로그램과 비교한다면, RTE를 포함한 BSW 계층을 흔히 Linux, Windows와 같은 운영체제 영역으로 치부할 수 있을 것이다. 다만, 하드웨어 사양이 제한되는 차량 제어기용으로 고안된 구조인지라 기존 PC 운영체제와는 지원되는 기능면에서 많은 부분이 부족한 것은 사실이다. 하지만, 이미 오토사에 기술된 사양만으로도 일반적인 차량용 제어기를 구현하는 데는 무리가 없다. (표준으로 정의되지 않은 기능을 구현할 수 있도록 별도의 모듈[각주:1]이 마련되어 있다.)

일반적인 PC용 프로그램과의 차이를 꼽으라면 클래식 오토사[각주:2]는 다중 프로세스/스레드가 지원되지 않는 임베디드 시스템(Embedded System) 상에서 구현되고 동작하기 때문에 하위 3개의 계층이 한꺼번에 컴파일되고 링킹 되어 타깃에 기록된다. 그렇다 보니 결국은 이 3개의 계층을 하나의 펌웨어 애플리케이션으로 인지할 수도 있지만, 내부적으로는 아래와 같이 설계되어 차량 제조사와 부품사간의 기능 구현 업무 분장에 도움을 줄 수 있다.

애플리케이션 계층은 오토사 사양서에서 정의하는 Application Software Component (이하 ASW, 결국은 일반적인 애플리케이션과 같은 기능을 하는) 가 위치하며, 하위 계층(BSW)의 인터페이스 형태에 종속적이지 않는 기능을 구현할 수 있도록 설계되어 있다.
주로 애플리케이션 계층과 베이직 소프트웨어 계층간의 인터페이스를 연결해 주는 역활을 하는 계층으로 ASW의 호환성을 보장해 준다. 사실 RTE는 인터페이스 연결뿐만 아니라, 태스크 매핑 등의 다른 중요한 역활도 수행한다.
사실 오토사라하면 아마도 RTE를 포함한 베이직 소프트웨어 레이어(이하 BSW)를 생각할 만큼 사양서의 많은 부분도 BSW의 기능을 기술하는데 할당되어 있다. 이 계층에서는 ASW가 동작하기 위해 필요한 정보 (하드웨어 신호값, 네트워크 신호값, 스케줄링 그리고 ASW 흐름 관찰기능)를 제공하며 특정 기능 모듈(운영체제, 디바이스 드라이버)은 하드웨어 의존적인 특성을 가지게 된다.

그림 출처 : AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf

https://autosw.tistory.com/notice/11

 

오토사 클래식 기초

클래식 오토사 기초 포스트 합니다. 포스트 내용은 생각이 날 때마다 업데이트하므로 내용이 변경될 수 있습니다. 오토사 구조 계층 관점 기능 관점

autosw.tistory.com

 

  1. Complex Device Driver (CDD) : 3개의 계층중 어디에나 위치할 수 있으며, 정의된 인터페이스 구격만 따르면 필요에 따라 기능을 자유롭게 구현 할 수 있도록 설계 되어 있다. [본문으로]
  2. 아답티브 오토사(Adaptive AUTOSAR)의 경우 POSIX 기반 운영체제를 채용하고 있어 일반 리눅스 또는 QNX 애플리케이션 프로그래밍과 크게 차이가 없다. [본문으로]