RTE
AUTOSAR Methodology
- AUTOSAR에서 정의한 공통의 시스템 개발 순서
- AUTOSAR 소프트웨어 개발 순서
1) Configure System: 시스템 설정 단계로 컴포넌트의 구성/연결 등을 정의한다. (Software Component Description을 개발)
2) Implement Component: "Configure System" 단계에서 구성한 컴포넌트들에 대한 코드 구현 등을 진행한다.
3) Extract ECU-Specific Information: 시스템 구성 정보로부터 특정 제어기 소프트웨어를 구현하기 위한 정보만을 추출한다.
4) Configure ECU: 제어기 관련 설정을 진행한다. (ECU Configuration Description 개발)
5) Generate Executable: 제어기에서 동작하는 실행 파일을 생성한다. (컴파일 및 링크를 통해 실행 이미지를 생성)
- Configure System
- 시스템 구성 단계에서의 설계한 애플리케이션은 다음과 같은 과정을 통해 제어기 내에서 동작한다.
- 어플리케이션 개발
서로 연결된 컴포넌트들의 집합을 통해 설계
- Virtual Functional Bus(VFB)
연결된 컴포넌트들이 교류하는 가상의 통신 구조(통로)
- 제어기 할당
컴포넌트를 특정 제어기에 배치
-> 가상의 컴포넌트 간의 연결이 다음의 실제 연결로 분류: 1. 제어기 내에서의 연결 2. 통신 수단을 통한 제어기 간의 연결
- RTE
제어기 할당을 통해 분류된 연결에 대해 컴포넌트 간 또는 컴포넌트와 Basic Software (BSW)간의 구체적인 실제 인터페이스
VFB 수준에서 설계한 컴포넌트들 및 컴포넌트 간의 관계를 제어기 상에서 동작할 수 있도록 코드화 (VFB의 구현)
Software Component Description
소프트웨어 컴포넌트를 구성하고 설계한 정보를 담고 있는 문서
- Software Component Description 개발 단계
- Virtual Functional Bus (VFB) level: 최상위 (가장 추상화된) 단계 컴포넌트 및 컴포넌트 간의 연결을 기술 (포트, 인터페이스) 컴포넌트의 통신 속성 및 서로의 관계를 표현
- 구성요소: (1) Component (2) Composition (3) Port (4) Interface (5) Assembly/Delegation
- Run-Time Environment (RTE) level: 중간 단계
컴포넌트의 행동 (Internal Behavior)을 기술 Runnable, Event, Access Point
- 구성요소: (1) Runnable (2) Event (3) Access Point
- Implementation level: 최하위 단계
Internal Behavior를 구현 (Runnable 코드 작성)
- VFB-level
- Component
- VFB 수준에서 시스템을 구성할 때 사용되는 중심 구성 요소
- "Port"를 소유
- Component-type과 Component-prototype
- Component-type이 객체고 Component-prototype이 인스턴스
- Composition
- 다른 컴포넌트를 포함하는 컴포넌트
- 컴포넌트 프로토타입, 포트, 커넥터를 소유
- Port
- 컴포넌트 간의 상호 작용(통신)을 위한 지점
- P-Port (Interface에서 정의된 요소를 제공: Provide)와 R-Port (Interface에서 정의된 요소를 요청: Require)가 있다
- Interface
- Port가 제공하거나 요구하는 타입을 정의 -> Client-Server, Sender-Receiver가 여기에 속한다
- Assembly Connector
- 컴포넌트의 P-Port와 R-Port가 통신하기 위해 연결
- 일반적으로 Assembly Connector로 연결되는 두 Port는 같은 Interface 속성을 가진다
- Delegation Connector
- Composition을 구성할 때 내부의 Port를 외부에서 사용하기 위해 연결
- P-Port는 P-Port와 R-Port는 R-Port와 연결
-> Composition의 Port와 Component-Prototype의 Port를 연결
- RTE-level
- Runnable
- 컴포넌트의 실제 구현을 구성하는 가장 작은 단위
- Run-Time Environment (RTE)를 통해 시작되는 Instruction Sequence
- Event
- Runnable은 RTE에 의해서 실행되며, Runnable이 특정 방식으로 실행될 수 있도록 Event를 지정한다
- Access Point
- Runnable에서는 RTE가 제공하는 API를 사용하며, Runnable 내에서 사용하려는 API를 Access Point를 통해 지정한다.
ECU Configuration Description
ECU Configuration Description: 제어기에 대한 설정 정보를 담고 있는 문서
- RTE ECU Configuration Description
- ECU Configuration Description 중 하나로 소프트웨어 컴포넌트가 제어기에서 동작할 수 있도록 RTE가 코드 생성을 위해 필요한 제어기 관련 설정을 담고 있는 문서
- RTE ECU Configuration Description의 주요 구성 요소
- RteSwComponentInstance
- 제어기에 할당된 컴포넌트에 대해 제어기 관련 설정을 하기 위해 해당 컴포넌트를 명시화
- RteEventToTaskMapping
- Runnable을 실행하는 Event에 대해 RTE가 실제 코드 구현을 할 수 있도록 자원을 할당
- RTE가 Task 코드 안에 Runnable 호출 코드를 배치하기 위해 Runnable이 실행될 OsTask, OsAlarm 등을 할당
Use Case
- Summary: Software Component Description & ECU Configuration Description

- Case 1: Timing Event
- Software Component Description & ECU Configuration Description 구성 요소 및 설계 순서별 필요 작업
- Timing Event를 사용하여 주기적으로 동작하는 애플리케이션을 다음과 같이 구성하여 설계할 수 있다.

- Software Component Description 구조
- Timing Event를 사용하여 주기적으로 동작하는 애플리케이션의 Software Component Desription 구조는 다음과 같다.

- 제어 흐름도
- 생성된 RTE 코드를 통한 제어기 내에서의 동작은 다음과 같이 이루어진다.

- Case 2: Sender-Receiver Interface
- Software Component Description & ECU Configuration Description 구성 요소 및 설계 순서 별 필요 작업
- Sender-Receiver Interface를 사용하여 데이터를 주고 받는 애플리케이션을 다음과 같이 구성하여 설계할 수 있다

- Software Component Description 구조
- Sender-Receiver Interface를 통해 데이터를 주고 받는 애플리케이션의 Software Component Description 구조를 다음과 같이 그림으로 표현할 수 있다

- 제어 흐름도
- 생성된 RTE 코드를 통한 제어기 내에서의 동작은 다음과 같이 이루어진다

- Case 3: Client-Server Interface
- Software Component Description & ECU Configuration Description 구성 요소 및 설계 순서 별 필요 작업
- Client-Server Interface를 사용하여 서비스를 요청하고 수행하는 애플리케이션을 다음과 같이 구성하여 설계할 수 있다

- Software Component Description의 구조
- Clent-Server Interface를 사용하여 서비스를 요청하고 수행하는 애플리케이션의 Software Component Description 구조를 다음과 같이 그림으로 표현할 수 있다

- 제어 흐름도
- 생성된 RTE 코드를 통한 제어기 내에서의 동작은 다음과 같이 이루어진다

AUTOSAR IO HARDWARE ABSTRACTION
AUTOSAR IO Hardware Abstraction (IoHwAb)

오토에버가 이 Basic Software를 제공한다
현대자동차 mcu에 맞춰서 개발하기 위해 AUTOSAR를 잘 커스텀한 것 -> 모빌진
- Overview
- iohwab는 ecu 하드웨어 신호 경로를 추상화한다
- 이것은 신호 기반의 인터페이스를 상위 소프트웨어 계층에 제공한다
- ECU 하드웨어의 입력/출력에서 물리적 표현에 따라 값의 정적 추상화를 수행한다
- AUTOSAR SW-Cs (Software Components)
- 오토사 어플리케이션 소프트웨어 컴포넌트는 ECU와 location에 독립적인 반면, sensor-actuator의 배치는 ECU의 영향을 받는다
sender-receiver: data 통신
server-client: 함수 호출
- Signal conversions between physical signals and software signals

- Example "ECU_Set_I" for the ECU abstraction

- Interface with MCAL drivers
- IoHwAb calls the driver's APIs for managing on chip devices
- Notifications are generated by MCAL drivers and are handled within the IoHwAb

uart가 없다
