진단 조건 평가를 위해 차량 및 시스템 관련 릴리스 상태를 Diagnostic Management에 보고합니다.
AI 생성미검증모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 40db6d76454c출처열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문
진단 조건 평가를 위해 차량 및 시스템 관련 릴리스 상태를 Diagnostic Management에 보고합니다.
ara::diag::Condition 클래스는 적응형 애플리케이션이 환경 및 릴리스 조건을 Diagnostic Management에 보고할 수 있는 DiagnosticConditionInterface 인터페이스를 제공합니다([SWS_DM_00712]). Diagnostic Server는 이러한 상태를 평가하여 차량 내 표준화된 진단 기능의 실행 또는 삭제 작업을 목표에 맞게 제어합니다(AUTOSAR_AP_SWS_Diagnostics §7.3.2.5.5 “Condition checks”). 인스턴스는 포트 프로토타입에 엄격하게 바인딩되며 복사 및 이동이 모두 불가능합니다. 동시 사용 시 질의 및 설정 작업은 스레드 안전하지 않으므로 외부 동기화가 필요합니다.
컨텍스트
ara::diag::Condition 클래스는 AUTOSAR Adaptive Platform에서 진단 조건(DiagnosticConditionInterface)을 위한 프로그래밍 인터페이스를 나타냅니다([SWS_DM_00712]). 차량 진단 시스템에서 특정 진단 기능 또는 UDS 서비스는 차량이 속도가 0인 정지 상태와 같이 정의된 환경 상태에 있을 때만 실행될 수 있습니다(AUTOSAR_AP_SWS_Diagnostics §7.3.2.5.5 “Condition checks”). [SWS_DM_00111]에 따르면 Diagnostic Server는 ISO 14229-1이 서비스별 조건 검사를 규정할 때 해당 환경 검사를 수행하고, 미충족 시 구성된 Negative Response Code(NRC)로 응답합니다.
애플리케이션 아키텍처 내에서 ara::diag::Condition은 적응형 애플리케이션과 Diagnostic Management(DM) 간의 연결 고리 역할을 합니다. 애플리케이션은 모델에서 DiagnosticEnableConditionPortMapping 또는 DiagnosticClearConditionPortMapping를 통해 연결된 포트를 사용하여 조건 객체를 인스턴스화합니다([SWS_DM_00712]). 해석: 이 포트 할당을 통해 보고된 상태가 정규 진단 절차를 위한 릴리스 조건으로 사용되는지 또는 진단 데이터 삭제를 위한 기준으로 사용되는지가 결정됩니다. 질문 (열림) 따라서 이 객체는 수신 진단 요청에 대한 조건을 평가하는 Diagnostic Server로의 상태 전달을 캡슐화합니다([SWS_DM_00111]).
ara::diag::Condition 객체의 생성은 생성자에 ara::core::InstanceSpecifier을 전달하여 명시적으로 수행됩니다([SWS_DM_00712]). 이 식별자는 애플리케이션의 모델링된 포트 프로토타입을 가리킵니다. 생성자는 noexcept으로 선언되어 있으며 예외 및 스레드 안전성을 보장합니다([SWS_DM_00712]).
소유권 관계와 관련하여 클래스는 엄격한 단일 인스턴스로 설계되었습니다. 복사 생성자([SWS_DM_01625])와 복사 할당 연산자([SWS_DM_01623])가 모두 삭제되었습니다(=delete). 마찬가지로 이동 생성자([SWS_DM_01626])와 이동 할당 연산자([SWS_DM_01624])도 삭제되었습니다. 조건 객체는 복사하거나 이동할 수 없으므로 각 포트에 대한 고정된 1:1 매핑이 보장됩니다.
정상 작동 중에는 SetCondition([SWS_DM_00715]) 및 GetCondition([SWS_DM_00714]) 메서드가 스레드 안전하지 않은 것으로 지정됩니다. 여러 스레드에서 병렬로 접근하는 경우 호출하는 애플리케이션이 외부 동기화를 보장해야 합니다. 수명 주기는 noexcept이자 예외 안전하지만 역시 스레드 안전하지는 않은 소멸자 ~Condition()([SWS_DM_00713])로 종료됩니다.
사용 경로
일반적인 사용 경로는 초기화, 주기적인 상태 업데이트 및 조건 질의로 구성됩니다:
초기화: 애플리케이션은 모델 구성에 바인딩하기 위해 적절한 ara::core::InstanceSpecifier([SWS_DM_00712])을 지정하여 ara::diag::Condition을 인스턴스화합니다.
상태 설정: 결정적인 차량 또는 시스템 상태가 변경되면 애플리케이션은 SetCondition(condition)([SWS_DM_00715])을 통해 조건을 업데이트합니다. 이 호출은 ara::core::Result<void>로 수용을 확인합니다.
상태 질의: 현재 상태를 확인하기 위해 애플리케이션은 GetCondition()을 호출합니다([SWS_DM_00714]). 결과는 ara::core::Future<ConditionType>를 통해 비동기식으로 제공됩니다.
생성자 위반: 생성 시([SWS_DM_00712]) 프레임워크는 소프트웨어 모델에 대해 구성을 검증합니다. 가능한 위반은 다음과 같습니다:
InstanceSpecifierMappingIntegrityViolation: 식별자를 모델에서 확인할 수 없거나 PortPrototype을 참조하지 않습니다([SWS_DM_00712]).
PortInterfaceMappingViolation: PortPrototype이 DiagnosticConditionInterface에 의해 형식화되었지만 DiagnosticEnableConditionPortMapping나 DiagnosticClearConditionPortMapping 어느 쪽에서도 참조되지 않습니다([SWS_DM_00712]).
ProcessMappingViolation: 인스턴스 참조에 대해 런타임에 일치하는 모델링된 프로세스가 존재하지 않습니다([SWS_DM_00712]).
InstanceSpecifierAlreadyInUseViolation: 동일한 프로세스 내에서 다른 인스턴스에 의해 식별자가 이미 사용되고 있습니다([SWS_DM_00712]).
기본 진단 서비스 장애: Diagnostic Management의 기본 기능에 일시적으로 접근할 수 없는 경우, GetCondition()([SWS_DM_00714])은 반환된 ara::core::Future를 통해 오류 DiagErrc::kServiceNotAvailable과 함께 실패할 수 있습니다.
오류 없는 상태 저장:SetCondition()([SWS_DM_00715])에 대해 정의된 표준화된 오류 코드가 없으며, 함수는 비어 있는 ara::core::Result<void>를 통해 성공을 직접 보고합니다.
이 텍스트는 AI에 의해 작성되었습니다. 모든 기술적 진술은 전적으로 AUTOSAR R25-11 사양을 기반으로 합니다.
InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is typed by a pingViolation DiagnosticConditionInterface needs either to be referenced by a DiagnosticEnableConditionPortMapping or a DiagnosticClearConditionPortMapping. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.
Parameter (in)
Parameter
Beschreibung
specifier
InstanceSpecifier to a PortPrototype of a DiagnosticConditionInterface.
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문