ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AUTOSAR란
    AUTOSAR 2019. 6. 2. 22:11

    AUTOSAR에 대해 소개하고 AUTOSAR가 무엇인지 Adaptive Platform의 개발 방법에 대해 서술하고자 한다.

    몇 가지 주제를 기반으로 어떤 구성이며 관계인지 설명할 것이다.

     

    1. ARXML은 무엇이고 어떻게 사용되는가?
      ARXML은 차량 네트워크(ECU간의 통신)의 형태와 그 통신 프로토콜에 대한 명세를 담고 있는 문서이다. 파일로서 존재하며 XML의 형태를 가지고 있고 ARXML to Something Generator를 통해 소스코드 혹은 차량 소프트웨어 개발에 필요한 구체적인 정보들로 변화될 수 있다. Generator의 기능과 성능은 해당 Generator를 제작/유지보수하는 툴벤더(Popcornsar, Vector)에 종속적인 부분이 많기 때문에 상이하다. 하지만 그럼에도 AUTOSAR 방법론이 호환성 있다고 말할 수 있는 이유는 서로 상이한 Generator라고 하더라도 AUTOSAR Specification에 종속되기 때문이다. 이런 제약을 통해 어느정도 균일한 품질의 차량 소프트웨어 개발이 가능하다.

     

    1. AUTOSAR Specification Documents들은 누가 관리하는가?
      AUTOSAR 협회는 여러 차량/전장부품/툴벤더들로 구성되어 있으며 구성원들은 정기적인 회의에 참여하여 표준화 작업을 진행한다. 이 표준화 작업의 결과물로서 AUTOSAR 플랫폼에서의 소프트웨어 개발을 가능케하는 Specification Documents가 작성되며 이를통해 AUTOSAR 방법론의 세부적인 구현 방법론을 제공한다.

    [AUTOSAR 기구와 Spec 문서의 관계]

    AUTOSAR 개발방법론이란 무엇인가?
    기존의 차량 소프트웨어가 가지고 있던 하드웨어와 소프트웨어 간의 높은 종속성(하드 바인딩)을 줄인 소프트 바인딩으로 변경시킬 수 있는 소프트웨어 개발 방법론이며 플랫폼이다.


    [AUTOSAR 다이어그램]





    AUTOSAR Adaptive Platform

    1. Functional Cluster는 무엇인가?
      Functional Cluster는 AP에서 소프트웨어 개발에 필요한 필수적인 API들의 묶음을 의미한다.
      핵심적인 FC로는 차량 네트워크(ECU 네트워크)에서 통신을 담당하는 COM(Commuination Management) 모듈과 어플리케이션의 실행을 담당하는 EXEC(Execution Management) 모듈, 정보를 로깅하는 PER(Persistency) 모듈이 있다.


      1) COM 모듈
      COM 모듈의 구조 (Publish - Subscribe 패턴)의 설명과 vsomeip 코드로서의
      1) Skeleton과 Proxy
      Skeleton은 OfferService를 통해 Registry에 서비스를 등록한 후 Proxy는 FindService를 통해 서비스를 구독한다.
      SOME/IP 통신 순서
      1. Skeleton -> Proxy : OfferService
      2. Proxy -> Skeleton : FindService
      3. Proxy -> Skeleton : Subscribe EventGroup
      4. Skeleton -> Proxy : Subscribe EventGroup ACK(Confirm)

      2) Service Interface에서의 Event, Field, Method

     

    • Event

     

     

    Event는 Skeleton에서 Proxy로 전달되는 일방적인 통신 프로토콜이다. Skeleton이 데이터를 전송하면 Proxy 큐에 데이터가 쌓이고 Proxy는 이를 확인하여 데이터를 전달 받는다.

     

    • Field

     


    Field는 Proxy가 요청하여 수행하는 method형식의 Getter와 Setter로써

    Skeleton의 Field값에 직접 접근하여 읽고 변경하기 위한 communication이며

    Field의 Notifier는 Field값 변경과 관련하여 Skeleton에서 Proxy로 값을 전달 할 때 사용된다.

     

    • Method

     


    Method는 Proxy의 요청으로 Skeleton의 함수를 실행시키고 요청의 결과를 Response받는 communication이며 예외적으로 fire&forget Method는 함수호출요청의 결과를 Response하지 않는다.



    2) EXEC 모듈
    EXEC 모듈은 Adaptive Application들의 실행을 관리하는 execution management 이며
    Manifest 설정정보를 참조하여 State management를 통해 executable의 실행을 결정한다.

    3) PER 모듈
    PER 모듈은 차량의 데이터를 내부 저장소에 저장하기 위한

    JSON 형식으로 나타나며 NoSQL 형식으로 데이터를 읽고 쓰는 기능을 가지고 있다.

Designed by Tistory.