관리 메뉴
Automotive Software
업데이트 및 형상 관리자 (UCM : Update and Configuration management) 기초 본문
아답티브 오토사 (Adaptive AUTOSAR)/업데이트 및 형상 관리자 (Update and Configuration)
업데이트 및 형상 관리자 (UCM : Update and Configuration management) 기초
AutoSW 2024. 1. 31. 18:10
- 개관
- 클래식 오토사에서는 진단 프로토콜을 통한 소프트웨어의 업데이트가 지원되었지만, 이는 서비스 센터나 공장 라인과 같은 정적인 환경에서 진단기를 통해서만 가능하였다.
- 아답티브 오토사에서는 OTA (Over the Air)와 같은 동적인 환경에서의 소프트웨어 업데이트를 추가 지원하기 위해 업데이트 및 형상 관리자 (UCM)를 정의하고 관련 서비스 인터페이스 및 기능을 제공하고 있다.
- 업데이트를 위한 서비스 인터페이스는 ara::com을 통해 메서드와 필드 형태로 제공되므로 이를 사용하는 클라이언트의 위치(동일 머신 또는 원격지)에 대한 제한은 없다.
- 시스템 구성은
- UCM Subordinate (UCMS) : 아답티브 머신상의 소프트웨어 업데이트를 위한 서비스 제공 및 실제 업데이트 수행
- UCM Client : UCMS에서 제공되는 서비스 (UCM PackageManagement)를 이용하여 업데이트를 요청하는 애플리케이션으로 상기 그림에서 묘사된 Diagnostic application 또는 UCM Master (UCMM) 이 해당
- Diagnostic application : UDS와 같은 진단 프로토콜을 통해 전달받은 소프트웨어 데이터를 소프트웨어 패키지로 변환하여 UCMS에 제공
- UCM Master : 외부 통신망 (OTA) 을 통해 전달받은 소프트웨어 데이터를 소프트웨어 패키지로 변환하여 UCMS에 제공
- 주요 기능
- 주요 업데이트 절차 진행
- 전송 (Transfer) : UCM 클라이언트들에서 업데이트할 소프트웨어 패키지를 UCM Subordinate의 내부 버퍼로 전달하는 절차
- 처리 (Processing) : 실제 업데이트 (설치, 갱신, 삭제)를 수행하는 절차
- 활성화 (Activation) : 업데이트 종료 전 관련 소프트웨어 클러스터들의 (재)실행 여부 확인 절차
- 실행 의존성 확인
- 명시된 소프트웨어 클러스터 내 다중 실행 개체들간의 의존성 관계는 신규 업데이트 후 활성화전 UCM에 의해 점검
- 업데이트 범위 정의
- 기본적으로 Adaptive application, Functional cluster 그리고 하위 OS를 업데이트할 수 있지만, 구현에 따라 추가적인 범위를 구현 가능
- 소프트웨어 패키지 전송 관리 (Transfer)
- 전달된 각 소프트웨어 패키지는 UCM에 의해 생성된 ID와 함께 내부적으로 각각의 상태가 관리됨
- 전송 준비 시 : 전송될 데이터의 전체 크기가 클라이언트에 의해 제공되면 UCM은 해당 패키지에 대한 ID와 한 번에 전송 가능한 최대 바이트 개수를 전달함
- 전송 시 : 0x01에서부터 시작하는 블록 카운터를 제공하여 순차적인 전송이 이루어지는지 확인
- 전송 후 : 전송받은 패키지의 인증 (Authentication) 진행
- 다중 패키지의 병렬 전송 지원
- 스트리밍(Stream) 전송 지원
- 소프트웨어 패키지 처리 (Processing)
- 시스템의 일관성 확보를 위해 다중 패키지의 병렬 처리 불가능
- 처리 진행 정보, 취소, 복구(Revert) 등에 대한 메서드 제공
- 복구는 오직 패키지 활성화전에 수행 가능
- 활성화 (Activation)
- 처리된 패키지(들)를 동시에 또는 각각 활성화 가능
- 필요시 상태 관리자에게 시스템 리셋을 요청
- 복구 (Rollback)
- 활성화 후 에러 보고 시 이전 버전으로의 복구 (Rollback) 기능이 지원
- A/B 파티션과 같이 하드웨어 적인 백업 솔류션이 시스템에 설계된 경우 가능
- 종료 (Finishing)
- 활성화 또는 복구 후 임시 데이터 삭제등의 후처리 진행
- 다른 FC와의 소통
- State Manager
- ECU가 업데이트 가능한 상태인지를 확인하기 위해
- 시스템 제어(재시작) 요청을 위해
- Crypto : 클라이언트로부터 전달된 소프트웨어 패키지의 보안성 확인을 위해
- State Manager
- 주요 업데이트 절차 진행
- 소프트웨어 패키지 (Software Package)
- 업데이트 데이터의 기본적인 하드웨어적인 단위로 각 패키지는 요소로써 하나의 소프트웨어 클러스터를 포함
- 소프트웨어 클러스터 (Software Cluster)
- 소프트웨어의 논리적인 묶음으로 단일 또는 연관된 다중 실행 개체(애플리케이션) 또는 데이터가 포함될 수 있으며 그에 해당하는 매니페스트 파일을 포함 할 수 있음
- 카테고리
- APPLICATION_LAYER : UCM에 의해 삭제될 수 있는 소프트웨어 클러스터
- PLATFORM_CORE : 삭제 시 시스템에 영향을 주므로 UCM에 의해 삭제될 수 없는 소프트웨어 클러스터
- PLATFORM : 플랫폼 소프트웨어 이긴 하나 UCM에 의해 삭제될 수 있는 소프트웨어 클러스터
- 버전
- 내용 변경 시마다 업버전(상위 버전으로 변경)이 필요
- UCM Subordinate은 상위 버전의 패키지만 허용
- 상위 버전의 소프트웨어에 문제 발생 시 동작 가능한 하위 버전의 소프트웨어를 업버전 후 업데이트 필요
- 내용 변경 시마다 업버전(상위 버전으로 변경)이 필요
'아답티브 오토사 (Adaptive AUTOSAR) > 업데이트 및 형상 관리자 (Update and Configuration)' 카테고리의 다른 글
소프트웨어 업데이트 주요 절차 (0) | 2024.03.26 |
---|---|
업데이트 형상 관리자(UCM)와 상태 관리자(SM)의 인터페이스 (1) | 2024.02.13 |
업데이트 형상 관리자와 외부 모듈간 의존성 (0) | 2024.02.13 |
소프트웨어 패키지 처리 절차 상태 머신 (State Machine for the package processing) (0) | 2024.02.10 |
소프트웨어 패키지 매니페스트 (Software Package Manifest) (0) | 2023.12.07 |