SW/Autosar

Adaptive Autosar Time Synchronization (시간 동기화)

얇은생각 2018. 11. 20. 21:34
반응형

개요

서로 다른 응용 프로그램, ECU 간의 Time Synchronization는 분산 시스템에서 서로 다른 이벤트의 상관 관계가 필요할 때 중요한 이벤트입니다. 이러한 이벤트를 제 시간에 추적하거나 정확한 시점에 트리거 해야 합니다.


Time Synchronization 


이러한 이유로 Time Synchronization API가 애플리케이션에 제공되어집니다. 다른 Entities / ECU와 동기화 된 시간 정보를 검색 할 수 있습니다. Time Synchronization 기능은 시스템에있는 다양한 "시간 기반 자원"의 수단으로 제공됩니다.


디자인

Adaptive Platform의 경우 필요한 모든 Time  Synchronization  요구 사항을 충족하기 위해 다음 세 가지 기술이 고려되었습니다.

. StbM of the Classic Platform

. Library chrono - either std::chrono (C++11) or boost::chrono

. The Time POSIX interface 

Time Synchronization 모듈은 Classic Platform의 StbM 모듈과 비슷합니다. 그러나 std :: chrono에서 영감을 얻은 API 디자인과 유사한 기능을 제공합니다.


다음과 같은 기능적 측면이 시간 동기화에 의해 고려됩니다.

module: 

Startup Behavior

Constructor Behavior (Initialization)

Normal Operation

Error Handling


다음 기능 측면이 향후 릴리스에서 고려 될 예정입니다.

Shutdown Behavior

Error Classification

Version Check  


구조

응용 프로그램은 각 Time Base Resource에 대해 다른 특수 클래스 구현에 액세스 할 수 있습니다. Time Base Resource은 ara :: com 디자인에서 제공되는 것과 비슷한 방식으로 리소스로 제공됩니다. 다음과 같은 ara :: com의 아키텍처 디자인 패턴을 채택합니다.

Proxy: ara :: com Service Proxy Skeleton 패턴과 유사하게 TS는 Skeleton 부분을 생략하고 Resource Proxy 패턴을 제공합니다.

Find: ara :: com 서비스 프록시 패턴과 유사하게 TS는 TBR에 대한 액세스를 제공하는 리소스 프록시 찾기 패턴을 제공합니다.

Proxy Methods: ara :: com 프록시 메소드 패턴과 유사하게 TS는 비동기식 미래 패턴을 고수하는 메소드 패턴을 사용합니다.

이 아키텍처 설계는 대기 시간을 피하는 상황에서 Time Synchronization design을 ara :: com API의 디자인 패턴의 비동기 동작에 본질적으로 추가하기 때문에 충돌을 일으킵니다.


반응형