SOVD 기반 소프트웨어 업데이트 시 하위 엔티티의 상태, 백분율 진행률 및 오류 코드를 기록합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 86b478c2c357출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
SOVD 기반 소프트웨어 업데이트 시 하위 엔티티의 상태, 백분율 진행률 및 오류 코드를 기록합니다.
구조체 ara::diag::SovdSwUpdate::SubProgress은 SOVD 기반 소프트웨어 업데이트 동안 특정 엔티티의 현재 진행률, 상태 및 발생 가능한 오류를 캡슐화합니다([SWS_DM_01896]). 업데이트 루틴은 여기에 업데이트할 컴포넌트를 기록하고, 백분율 진행률을 갱신하며, 전체 상태를 진단 관리로 전달합니다. 업데이트가 실패하면 error 필드가 발생한 오류 코드를 명시하며, 정상적인 흐름에서는 고려되지 않습니다([SWS_DM_01901]). SubProgress는 내부 동기화가 없는 순수 데이터 값 타입이므로, 동시 수정 시 애플리케이션 측의 보호 조치가 필요합니다.
컨텍스트
구조체 ara::diag::SovdSwUpdate::SubProgress은 AUTOSAR Adaptive Platform의 diag 모듈 내 SOVD 기반 소프트웨어 업데이트를 위한 C++ 인터페이스의 일부입니다([SWS_DM_01896], AUTOSAR_AP_SWS_Diagnostics §8.58.3 “Struct: SubProgress”). SOVD(Service-Oriented Vehicle Diagnostics) 프레임워크 내에서 업데이트 프로세스는 여러 병렬 또는 순차적 하위 단계로 구성될 수 있습니다. SubProgress는 업데이트 중 특정 하위 컴포넌트의 처리 상태를 나타내는 책임을 맡습니다. 상호 작용 파트너에는 하위 업데이트를 수행하는 진단 내부 업데이트 루틴과, 업데이트의 전체 진행률을 조정하고 외부 진단 툴에 보고하는 상위 제어 인스턴스가 포함됩니다.
진행되는 동안 백분율 진행률 및 상태 변경이 구조체 내에 지속적으로 업데이트됩니다. 하위 업데이트가 완료되거나 중단된 후 구조체가 전달되거나 판독되며, 최종적으로 유효 범위를 벗어나면서 자동으로 소멸됩니다. 사양에서 자체 메서드나 동기화 프리미티브를 규정하지 않으므로, 이 구조체는 자체 스레드 안전성이 없는 순수 데이터 홀더 역할을 할 것으로 추정됩니다(해석). 질문 Q-92b3fcc698f7bab8 (열림) 따라서 여러 스레드의 동시 접근에는 애플리케이션 측 동기화가 필요합니다.
사용 경로
진행률 보고를 위한 정규 흐름은 정해진 일련의 단계로 구분됩니다:\n먼저 실행 중인 업데이트 로직이 SubProgress 타입의 객체를 인스턴스화하고 해당 엔티티의 식별자를 entity에 설정합니다([SWS_DM_01898]). 동시에 예를 들어 처리 시작을 알리기 위해 status의 시작 값이 설정됩니다([SWS_DM_01899]). 연속적인 단계에서 로직은 주기적으로 백분율 진행률을 progress 필드에 기록합니다([SWS_DM_01900], AUTOSAR_AP_SWS_Diagnostics §8.58.3.1.3 “progress”). progress이 ara::core::Optional로 선언되어 있으므로, 진행률이 아직 결정되지 않은 동안에는 필드가 비어 있습니다. 마지막으로 외부 SOVD 클라이언트가 상태를 쿼리할 수 있도록 구조체가 중앙 인터페이스 SovdSwUpdate으로 전달됩니다([SWS_DM_01896]).
하위 엔티티 처리 중 이상 또는 오류가 발생하는 경우 구조체의 오류 시나리오가 적용됩니다. 오류가 발생하면 status의 값이 오류 상태로 전환됩니다([SWS_DM_01899]). [SWS_DM_01901]에 따라 error 변수는 상태가 실패한 경우에만 정확한 오류 코드를 명시합니다(“Specifies the error if status is failed”). 이는 status와 error 사이의 구속력 있는 논리적 결합을 나타냅니다: 구조체의 수신자는 status이 실제로 실패 상태를 보고하는 경우에만 error 필드를 유의미한 것으로 평가해야 하며, 그렇지 않은 경우 해당 내용은 아마도 고려되지 않거나 기본값을 나타낼 것입니다(해석). 질문 Q-3caa7622672dcb8e (열림)
또 다른 오류 시나리오는 불확정 진행률과 관련됩니다: 처리 엔티티가 구체적인 백분율 값을 판별할 수 없거나 계산이 조기에 중단되는 경우, 선택적 필드 progress은 값 없이 유지되며(ara::core::nullopt), 이는 유효하지 않은 숫자 값이 백분율 표시로 잘못 해석되는 것을 방지합니다([SWS_DM_01900]).
이 가이드는 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 하며 ara::diag::SovdSwUpdate::SubProgress 구조체에 대한 요구사항을 요약합니다.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문