SW/Autosar

Adaptive Autosar Update and Configuration Management (업데이트 및 구성 관리)

얇은생각 2018. 11. 23. 16:48
반응형

Adaptive AUTOSAR의 목표 중 하나는 무선 업데이트 (over-the-air updates)를 통해 소프트웨어 및 구성을 유연하게 업데이트하는 것입니다. Adaptive Platform에서 소프트웨어 변경을 지원하기 위해 UCM (Update and Configuration Manager)은 소프트웨어 업데이트 요청을 처리하는 Adaptive Platform 서비스를 제공합니다.

 

UCM은 Adaptive Platform에서 소프트웨어의 업데이트를 설치, 제거 및 유지 관리합니다. 그 역할은 Linux의 dpkg 또는 YUM과 같은 알려진 패키지 관리 시스템과 유사하며 Adaptive Platform에서 소프트웨어를 업데이트하거나 수정하는 안전하고 안전한 방법을 보장하는 추가 기능이 있습니다.

 


Update protocol 

UCM 서비스는 Diagnostic_communication sub-software_cluster의 diagnostic  유스 케이스를 지원하도록 설계되었습니다. UCM 서비스는 안전하고 자원 효율적인 업데이트 프로세스에서 Adaptive Platform의 변경 작업을 지원합니다. 여러 클라이언트의 업데이트를 지원하고 빠른 다운로드를 가능하게하는 요구 사항을 충족 시키려면 데이터 전송이 소프트웨어 패키지 처리와 분리되는 설계가 필요합니다.

 


Data transfer 

데이터 전송은 ara :: com을 통해 데이터를 스트리밍하여 수행됩니다. 이렇게하면 UCM 외부의 데이터를 버퍼링하지 않고도 데이터를 UCM으로 전송할 수 있습니다. UCM은 UCM 클라이언트가 요청한 순서대로 패키지를 처리 ​​할 수있는 로컬 저장소에 패키지를 저장합니다. 

 

전송 단계가 처리 단계와 분리되므로 UCM은 이를 수행 할 수 있을 때 여러 클라이언트의 데이터 수신을 제한없이 지원합니다.

 


Software Package 

UCM의 입력 장치 인 설치 장치는 소프트웨어 패키지입니다.

 

패키지에는 Adaptive 응용 프로그램, 커널 또는 펌웨어 업데이트 또는 Adaptive Platform에 배포해야하는 업데이트 된 구성 및 교정 데이터 중 여러 개의 실행 파일이 포함됩니다. 이것은 소프트웨어 패키지의 업데이트 가능 패키지 부분을 구성하며 Adaptive Platform에 추가되거나 변경 될 실제 데이터를 포함합니다. 응용 프로그램 및 구성 데이터 옆에는 각 소프트웨어 패키지에는 패키지 이름, 버전, 종속성 및 패키지 처리를 위한 벤더 특정 정보와 같은 메타 데이터를 제공하는 SW 패키지 매니페스트가 있습니다.

  

C:\Users\juan270059\Pictures\PackageLifeCycle.png

소프트웨어 패키지의 형식은 지정되지 않았으므로 UCM을 구현할 때 다른 종류의 솔루션을 사용할 수 있습니다. 소프트웨어 패키지는 소프트웨어 및 메타 데이터에서 수행 할 업데이트로 구성됩니다. 이 컨텐츠는 벤더 툴링을 통해 푸시되어 대상에서 UCM에 의해 처리 될 소프트웨어 패키지를 생성합니다. Software Package를 대상 OEM에 배포하려면 Software Package를 OEM 배포 컨테이너로 래핑 할 수 있습니다. 대상 OEM에서 특정 응용 프로그램은 OEM 패키지를 받고 UCM으로 패키지를 전달하기 전에 가능한 압축 풀기 및 해독을 수행합니다.

 

 

Overview Software Package 

  

UCM은 제공된 메타 데이터를 기반으로 vendor specific Software Package를 처리합니다.



Processing and activation Software Packages 

설치, 업데이트 및 제거 작업은 ProcessSwPackage 인터페이스를 통해 수행되며 UCM은 작업을 수행해야하는 메타 데이터를 구문 분석 할 수 있습니다.

  

UCM 시퀀스는 예를 들어 A / B 연속 업데이트 및 OSTree 모델을 지원하도록 설계되었으므로 패키지 관리자가 필요한 경우 이전 버전으로 롤백 할 수 있습니다.

 

Overview Processing ad activation Software Package  

 

구현을 더 간단하고 강력하게 유지하기 위해 한 번에 하나의 클라이언트 만 소프트웨어 패키지를 처리하도록 요청할 수 있습니다. 여러 클라이언트가 전송 된 패키지를 순서대로 처리하도록 요청할 수 있습니다. A/B 파티션에  끊김없는 업데이트 처리하는 시나리오에서 비활성 / B 파티션이 업데이트 되면서 여러 클라이언트가 상호 종속성이 발생할 경우 순서대로 "B 파티션"으로 업데이트해야합니다.

 

클라이언트가 요청 했음에도 불구하고 모든 처리 된 패키지에 대해 변경 활성화가 수행됩니다. 이를 다중 클라이언트 시나리오에서 올바르게 조정하려면 "마스터"클라이언트 접근 방식을 사용할 수 있습니다. UCM은 모든 대상 소프트웨어 패키지가 처리되었는지 여부를 알지 못하지만 시스템이 "B 파티션"에 설치된 소프트웨어의 요구 사항과 일치하는지 확인하기 위해 종속성 검사를 수행합니다. 종속성이 충족되지 않는 경우 UCM은 활성화를 거부해야합니다.

  

업데이트가 활성화되면 활성화 요청이 처리 될 때까지 다른 처리 요청이 거부됩니다. 이 단계에서 OEM은 원하는 확인 단계를 수행 할 수 있으며 확인 후 성공을 위해 마침을, 실패를 위해 롤백을 호출 할 수 있습니다.

 

Finish가 호출 된 후 UCM은 불필요한 모든 리소스를 지우고 IDLE로 돌아갑니다. 롤백이 호출되면 UCM은 "A 파티션"을 다시 활성화하고 클라이언트는 발견 된 문제를 해결하거나 RevertProcessedSwPackages를 호출하여 정리할 수 있습니다.

 


Software information reporting 

 UCM은 전송 된 패키지의 이름 및 버전, 처리 된 소프트웨어는 아니지만 커밋 된 소프트웨어 및 마지막 커밋 된 소프트웨어에 대한 Adaptive Platform 소프트웨어 정보를 검색하는 기능을 제공하는 서비스 인터페이스를 제공합니다. UCM 업데이트 프로세스에는 명확한 상태가 있으므로 UCM은 각 소프트웨어 패키지의 처리 상태에 대한 정보를 제공합니다.

 


Software update consistency 

소프트웨어 패키지 처리와 소프트웨어 활성화 사이에 일관성 검사가 분할되었습니다. UCM을 처리 할 때 설치할 소프트웨어 패키지의 일관성 및 인증을 확인하십시오. 

 

활성화 과정에서 UCM은 설치된 모든 소프트웨어 패키지에 필요한 모든 종속성이 충족되는지 확인합니다.

  

업데이트 프로세스 중 실패한 경우 UCM은 실패한 프로세스에서 수행 된 변경 사항을 되돌려야합니다. 복구 가능한 실패의 예는 전원 손실 또는 소프트웨어 패키지 손상으로 인해 중단 된 업데이트 프로세스입니다.

  


Securing update process 

UCM은 ara :: com을 통해 서비스를 제공합니다. UCM 업데이트 프로토콜에는 인증 단계가 없습니다. 대신 ara :: com을 통해 UCM 서비스를 요청하는 클라이언트가 합법적인지 확인하기 위해 ID 및 액세스 관리 개념을 사용합니다.

 

UCM은 소프트웨어 패키지를 인증합니다. 매니페스트의 내용은 소프트웨어 패키지의 서명을 포함 할 수 있으며 체크섬 알고리즘, 암호화 서명 또는 기타 공급 업체 및 또는 OEM 특정 메커니즘을 사용하여 패키지의 유효성을 검사 할 수 있습니다.

반응형