관리 메뉴
Automotive Software
ara::com 통신 방식 기초 본문
아답티브 오토사 (Adaptive AUTOSAR)/통신 관리자 (Communicatioin Management)
ara::com 통신 방식 기초
AutoSW 2023. 10. 6. 14:03ara::com에서는 사용 시나리오에 따라 세 가지의 통신 방식, 이벤트(Event), 메서드(Method) 그리고 필드(Field)를 지원한다.
- 이벤트 : 데이터 기반, 특정 신호를 주기적 또는 갱신 시점에 받아서 처리하는 경우
- CAN 신호와 같이 주기적 또는 산발적으로 발생되는 데이터를 교환하는 경우
- 메서드 : 기능(함수) 기반, 원격지 프로세스의 특정 기능(함수)을 호출하고 그 결과를 확인하는 경우
- RPC (Remote Procedure Call)을 통해 외부 프로세스에 구현된 기능을 사용하고 그 결과를 확인코저 하는 경우
- 필드 : 데이터 기반으로 이벤트와 메서드의 혼합, 어느 시점에나 특정 신호의 값을 받거나 전달하고 그 결과를 확인하고자 하는 경우
- 외부 프로세스의 데이터를 필요한 시점에 언제나 접근하여, 취득하거나 변경하고 그 결과를 확인코저 하는 경우
- ara::com 데이터 타입 클래스
- 포인터 타입 (Pointer types) : 전송될 데이터의 스마트 포인터로 C++의 std::unique_ptr <T>와 같이 동작
- 컬렉션 타입 (Collection types) : 전송될 데이터의 컬렉션(컨테이너)으로 특정 구조체의 형태를 가진 개체
- 비동기 동작 결과 타입 (Types for async operation result management) : C++의 std::future/std::promise
- 함수 래퍼 (Function wrappers) : CM에서 호출될 콜백 또는 핸들러 함수에 대한 포인터로 C++의 std::function와 같이 동작
- 에러 알림 (Error Notification)
- Checked Error가 ara::core::ErrorCode 를 통해 직접적으로 통지
- 또는, ara::core::Result가 ara::core::ErrorCode에 내포되어 전달
- ara::core::Future
- get() 메서드 : c++의 std::future 함수 방식으로 동작, 필요시 예외(Exception) 발생
- GetResult() 메서드 : 결과 (예외사항 미포함)가 수신될 때까지 기다린 후 전달
- Checked Error는 메서드 방식의 서비스 인터페이스에서만 제공
'아답티브 오토사 (Adaptive AUTOSAR) > 통신 관리자 (Communicatioin Management)' 카테고리의 다른 글
ara::com 메소드 통신 기초 (0) | 2023.11.22 |
---|---|
ara::com 이벤트 통신 기초 (0) | 2023.11.22 |
ara::com 이벤트 통신 동작 절차 (0) | 2023.08.04 |
ara::com 기초 (프록시/스켈레톤 구조) (0) | 2023.08.02 |
통신 관리자 (CM : Communication Manager) 기초 (0) | 2023.07.12 |