목록전체 글 (102)
Automotive Software
클래식 오토사의 RTE와 유사하게 아답티브 오토사에서는 인터페이스를 추상화 및 정형화하는 개념으로 ara::com 이 정의되어 있다. 아답티브 오토사에서 각 프로세스 간 (아답티브 애플리케이션 및 오토사 컴포넌트를 포함하는)의 통신은 기본적으로 프록시/스켈레톤 구조를 따르는데, 이 구조는 이미 COBRA 같은 미들웨어에 적용된 설계 패턴으로 하위 전송 계층을 추상화한 정형화된 서비스 인터페이스를 사용자인 클라이언트와 제공자인 서버에 제공함으로써 간결한 서비스 구현을 가능하게 한다. 프록시는 서비스를 사용하는 클라이언트 개체 클래스이며, 스켈레톤은 서비스를 제공하는 서버 개체 클래스이다. 개체간 통신 서비스 구현 절차를 요약하면, 통신 개체간 서비스 인터페이스 정의 -> 프록시/스켈레톤 코드 생성 -> 생..
멀티 코어 시스템에서는 한 프로세스에서 캐시를 통해 수정하는 공유 메모리의 데이터가 다른 프로세스에게도 동일하게 보이는 공유 데이터의 일관성이 중요한데, 이를 위해 ARM과 같은 최근 프로세서 구조에서는 소프트웨어의 복잡도를 줄이는 하드웨어 기반의 캐시 일관성 (Cache Coherence) 메커니즘을 제공한다. ARM의 경우, SCU (Snoop Control Unit)가 해당 기능을 위해 중심적인 역할을 하는데, 각 코어상의 캐시 움직임을 감시하고, 캐시상의 데이터가 공유 메모리상의 데이터와 일치하도록 하는 역할을 수행한다. 스누핑 : 하나의 프로세스가 메모리상의 데이터를 수정코저 할 때, 우선은 캐시상에 해당 데이터의 존재 및 일치성 여부를 확인하게 되는데, 이때 존재하지 않거나 공유 메모리상의 데..
하나의 기능 그룹은 내부적으로 정의된 상태에 따라 기능적으로 그룹화된 프로세스들을 제어하는데 사용되며, ModeDeclarationGroupPrototype을 통해 새로운 기능 그룹을 정의할 수 있다. ModeDeclarationGroup으로 정의된 하나의 객체를 ModeDeclarationGroupPrototype의 type으로 할당함으로써 하위 상태를 정의할 수 있는데, 하위 상태들은 ModeDeclarationGroup내의 ModeDeclaration을 통해 추가 할 수 있다. 예) MyFG 과 Off, Verify 그리고 Startup 추가시 FunctionGroupSet.functionGroup |-----> MyFG (ModeDeclarationGroupPrototype) Type","outp..
개관 클래식 오토사에 DET (Default Error Tracer)가 있다면 아답티브 오토사에는 하나의 기능군(Functional Cluster)에 속하는 Log and Trace 모듈(이하 LT) 이 있다. LT는 아답티브 애플리케이션에서 발생되는 기록 정보를 통신버스, 콘솔 또는 파일 시스템상에 저장할 수 있는 인터페이스를 제공한다. 기록 정보를 표준화된 방식으로 처리하기 위해 오토사에서 정의한 LT Protocol 이 사용되며, 이는 사용자 정보를 추가할 수 있게 함으로써 수신정보의 정렬 및 필터링을 가능하게 한다. 기능의 초기화는 ara::log 인터페이스 사용 전 ara::core::Initialize를 통해 반드시 이루어져야 하며, 종료는 ara::core::Deinitialize()를 통해..
매니페스트 (Manifest) 일반적으로 개방형 시스템에서 애플리케이션 배포 시 관련 메타데이터를 포함하는 파일 아답티브 오토사에서는 시스템 및 모듈에 대한 설정 정보를 담고 있는 파일로 최종적으로 변경된 포맷의 형태로 실행 파일과 함께 타깃상에 배치 실행 매니페스트 (Execution Manifest) 타깃상에 배치 가능한 소프트웨어 패키지에 대한 정의 통합시(Integration phase) 애플리케이션 배치를 위해 필요한 설정 정보가 개발자로 부터 제공 요구 조건 애플리케이션 설계 및 구현 묘사 통합 작업에 필요한 정보 애플리케이션 설계 및 개발에 필요한 정보 애플리케이션 서비스 (Provided and required services), 인터페이스 및 매핑에 대한 명세 진단능력 (Diagnosti..