DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::MultipleCondition

[SWS_DM_01730] Upstream: RS_Diag_04192

class MultipleCondition final {...};

Class for multiple condition operations.

Header-Datei#include "ara/diag/multiple_condition.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

사용자 가이드AI 생성

핸들을 기반으로 공통 인터페이스를 통해 여러 진단 조건의 설정 및 조회를 지원합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 2f3f3f7d9426 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

핸들을 기반으로 공통 인터페이스를 통해 여러 진단 조건의 설정 및 조회를 지원합니다.

ara::diag::MultipleCondition 클래스는 숫자 핸들([SWS_DM_01730])을 사용하여 공통 포트 인터페이스를 통해 여러 진단 조건을 일괄적으로 쿼리하고 업데이트하는 데 사용됩니다. 애플리케이션은 InstanceSpecifier를 통해 객체를 인스턴스화하고 SetCondition 및 GetCondition([SWS_DM_01729])를 사용하여 조건을 목표에 맞게 제어합니다. 중요한 제약 조건으로 클래스는 복사 및 이동할 수 없으며 소멸자는 스레드 안전하지 않습니다. 또한 초기화 및 런타임 오류를 방지하기 위해 모델의 포트 매핑을 통해 주소 지정된 모든 조건이 일관되게 구성되어야 합니다.

컨텍스트

ara::diag::MultipleCondition 클래스를 통해 어댑티브 애플리케이션은 공통 인터페이스([SWS_DM_01730])를 통해 여러 진단 조건을 일괄 관리하고 수정할 수 있습니다. 기능적 및 의미론적으로 개별 조건과 동일한 기능을 제공하지만, 식별 핸들(AUTOSAR_AP_SWS_Diagnostics 237쪽)을 통한 목표 지정 주소 지정을 포함하도록 작업을 확장합니다. 관리되는 각 진단 조건(DiagnosticCondition)은 모델에서 적절한 타입의 포트([SWS_DM_01727], AUTOSAR_AP_SWS_Diagnostics 237쪽)를 사용하는 DiagnosticMultipleConditionPortMapping를 통한 링크가 필요합니다. 주소 지정은 ConditionHandleType 타입을 통해 수행됩니다. 명시적인 overrideId 값이 없는 경우 Diagnostic Management(DM)는 짧은 이름([SWS_DM_01735])의 알파벳 순서로 0x010000부터 시작하여 오름차순 숫자 값을 할당합니다.

MultipleConditionContext App Adaptive Anwendung MC ara::diag::MultipleCondition App->MC steuert / fragt ab DM Diagnostic Management MC->DM 포트를 통한 상태 동기화

컨텍스트 다이어그램: 어댑티브 애플리케이션과 Diagnostic Management 간의 ara::diag::MultipleCondition 임베딩. 출처: [SWS_DM_01727], [SWS_DM_01728], AUTOSAR_AP_SWS_Diagnostics 237쪽

수명 주기

인스턴스는 ara::core::InstanceSpecifier를 전달하여 생성자 MultipleCondition를 통해 생성됩니다([SWS_DM_01727]). 생성은 스레드 안전하며 noexcept로 선언되어 있습니다([SWS_DM_01727]). 객체는 로컬 유효 범위에 엄격하게 바인딩됩니다. 복사 및 이동 작업이 모두 삭제되어 복사 생성자([SWS_DM_02072]), 이동 생성자([SWS_DM_02071]), 복사 대입 연산자([SWS_DM_02073]) 및 이동 대입 연산자([SWS_DM_02074])를 사용할 수 없습니다(=delete).

소멸자 ~MultipleCondition()는 명시적으로 스레드 안전하지 않은 것으로 지정되어 있습니다([SWS_DM_01737]). 따라서 애플리케이션은 파괴 전에 객체에 대한 모든 동시 액세스가 완료되었는지 확인해야 합니다. 일반 메서드 호출의 경우 조건부 스레드 안전성이 적용됩니다([SWS_DM_01728], [SWS_DM_01729]). 해석: [SWS_DM_01727]에 따른 생성자 시그니처가 명시적인 동시성 매개변수를 허용하지 않으므로, 요구되는 ConcurrencyType는 매니페스트의 기본 포트 모델을 통해 결정될 것으로 추정됩니다. 질문 Q-f29def512a68aae9 (열림)

사용 경로

진단 조건과의 상호 작용 시 일반적인 워크플로는 다음 단계로 구성됩니다:

  1. 초기화: 애플리케이션은 대상 포트를 지정하여 클래스를 인스턴스화합니다([SWS_DM_01727]).
  2. 상태 설정: SetCondition(conditionHandle, condition)를 사용하여 애플리케이션은 지정된 조건에 대한 상태 변경을 전송하고 결과 ara::core::Result<void>를 확인합니다([SWS_DM_01729]).
  3. 상태 조회: GetCondition(conditionHandle)를 통해 주소 지정된 조건의 현재 상태가 ara::core::Future<ConditionType>로 비동기 요청됩니다([SWS_DM_01728]).
  4. 리소스 해제: 유효 범위를 벗어날 때 소멸자가 인터페이스를 질서 있게 해제합니다([SWS_DM_01737]).
ara::diag::MultipleCondition의 전형적인 사용 흐름애플리케이션MultipleConditionDiagnosticManagementUse Case: InitialisierungMultipleCondition(specifier)Use Case: Zustand setzenSetCondition(handle, condition)Bedingungszustand aktualisierenBestaetigungResult<void>Use Case: Zustand abfragenGetCondition(handle)Zustand anfordernConditionTypeFuture<ConditionType>Use Case: Bereinigung~MultipleCondition()

시퀀스 다이어그램: MultipleCondition을 통한 조건 관리 시 호출 및 응답 패턴. 출처: [SWS_DM_01727], [SWS_DM_01728], [SWS_DM_01729], [SWS_DM_01737]

오류 시나리오

사용 시 모델링으로 인한 구성 오류와 기능적 런타임 오류를 구별해야 합니다:

  • 생성 위반 ([SWS_DM_01727]): InstanceSpecifier 해석에 실패하거나 이것이 PortPrototype(을)를 가리키지 않는 경우 InstanceSpecifierMappingIntegrityViolation(이)가 보고됩니다. 포트가 DiagnosticMultipleConditionInterface(으)로 유형화되지 않은 경우 PortInterfaceMappingViolation(이)가 발생합니다. 프로세스에 모델링된 대응 항목이 없는 경우 ProcessMappingViolation(이)가 발생합니다. 동일한 InstanceSpecifier(이)가 프로세스 내에서 여러 번 인스턴스화되면 InstanceSpecifierAlreadyInUseViolation(이)가 발생합니다.
  • 메서드 호출 시 런타임 오류:\n SetCondition([SWS_DM_01729]) 또는 GetCondition([SWS_DM_01728])에 유효하지 않은 매개변수나 유효하지 않은 핸들이 전달되면 메서드는 오류 DiagErrc::kInvalidArgument를 반환합니다. Diagnostic Management의 기본 기능에 일시적으로 연결할 수 없는 경우 GetCondition는 호출을 DiagErrc::kServiceNotAvailable로 확인합니다([SWS_DM_01728]).

이 가이드는 오직 AUTOSAR Adaptive Platform R25-11 사양만을 기반으로 한다.

멤버 맵

클래스 다이어그램

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__MultipleCondition516 MultipleCondition + MultipleCondition() + operator=() + ~MultipleCondition() + GetCondition() + SetCondition()

상세 보기

개요에서 항목을 선택하세요.

생성자 및 소멸자

Constructor of MultipleCondition Class.

오버로드 MultipleCondition 3
explicit MultipleCondition (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_01727
MultipleCondition (MultipleCondition &&) noexcept=delete; SWS_DM_02071
MultipleCondition (MultipleCondition &)=delete; SWS_DM_02072

Destructor of class Condition .

~MultipleCondition () noexcept;

메서드

Get condition state of the requested condition.

ara::core::Future< ConditionType > GetCondition (ConditionHandleType conditionHandle) noexcept;

Set condition state of the requested condition.

ara::core::Result< void > SetCondition (ConditionHandleType condition Handle, ConditionType condition) noexcept;

연산자

operator= 함수 2

Copy assignment operator of MultipleCondition.

오버로드 = 2

메서드 문서

함수 GetCondition [SWS_DM_01728] Upstream: RS_AP_00139, RS_Diag_04192

ara::core::Future< ConditionType > GetCondition (ConditionHandleType conditionHandle) noexcept;

Get condition state of the requested condition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
conditionHandleIdentifies the requested condition

Rückgabewert

TypBeschreibung
ara::core::Future<ConditionType >the current condition

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01728
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01728@rel:R25-11#75081471
Content hash
75081471
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01728
Status: valid/unmigrated Version: rel:R25-11#1021a13e Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01728@rel:R25-11#1021a13e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ffd9efe62026-09-30
  • R23-11rel:R23-11#cefb75d12026-10-14
  • R24-11rel:R24-11#e36eef822026-10-14
  • R25-11rel:R25-11#1021a13e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 MultipleCondition [SWS_DM_01727] Upstream: RS_AP_00137, RS_Diag_04192, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit MultipleCondition (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor of MultipleCondition Class.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)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 referenced by a pingViolation DiagnosticMultipleConditionPortMapping needs to be typed by a DiagnosticMultipleConditionInterface. 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)

ParameterBeschreibung
specifierInstanceSpecifier to a PortPrototype of a DiagnosticMultipleConditionInterface

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01727
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01727@rel:R25-11#71aa7b8c
Content hash
71aa7b8c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01727
Status: valid/unmigrated Version: rel:R25-11#65e51852 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01727@rel:R25-11#65e51852
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#2c9de7bb2026-09-30
  • R23-11rel:R23-11#3179b5462026-10-14
  • R24-11rel:R24-11#8f45ca0e2026-10-14
  • R25-11rel:R25-11#65e518522026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 MultipleCondition [SWS_DM_02071] Upstream: RS_AP_00147

MultipleCondition (MultipleCondition &&) noexcept=delete;

Move constructor of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02071
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02071@rel:R25-11#51b4905e
Content hash
51b4905e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02071
Status: valid/unmigrated Version: rel:R25-11#73d20be9 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02071@rel:R25-11#73d20be9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#05fd4e5b2026-09-30
  • R24-11rel:R24-11#73d20be92026-10-14
  • R25-11rel:R25-11#73d20be92026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 MultipleCondition [SWS_DM_02072] Upstream: RS_AP_00147

MultipleCondition (MultipleCondition &)=delete;

Copy constructor of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02072
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02072@rel:R25-11#b2458cb9
Content hash
b2458cb9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02072
Status: valid/unmigrated Version: rel:R25-11#1739c435 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02072@rel:R25-11#1739c435
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#5a4143a82026-09-30
  • R24-11rel:R24-11#1739c4352026-10-14
  • R25-11rel:R25-11#1739c4352026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 SetCondition [SWS_DM_01729] Upstream: RS_AP_00139, RS_Diag_04192

ara::core::Result< void > SetCondition (ConditionHandleType condition Handle, ConditionType condition) noexcept;

Set condition state of the requested condition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
conditionHandleIdentifies the requested condition
conditioncurrent condition

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01729
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01729@rel:R25-11#94f535f3
Content hash
94f535f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01729
Status: valid/unmigrated Version: rel:R25-11#465faec8 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01729@rel:R25-11#465faec8
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#0d9cc8512026-09-30
  • R23-11rel:R23-11#fd3bc3f32026-10-14
  • R24-11rel:R24-11#b9d84d0f2026-10-14
  • R25-11rel:R25-11#465faec82026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 operator= [SWS_DM_02073] Upstream: RS_AP_00147

MultipleCondition & operator= (MultipleCondition &)=delete;

Copy assignment operator of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02073
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02073@rel:R25-11#d9a1966d
Content hash
d9a1966d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02073
Status: valid/unmigrated Version: rel:R25-11#694180d9 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02073@rel:R25-11#694180d9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#68cfe0ab2026-09-30
  • R24-11rel:R24-11#532b816e2026-10-14
  • R25-11rel:R25-11#694180d92026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 operator= [SWS_DM_02074] Upstream: RS_AP_00147

MultipleCondition & operator= (MultipleCondition &&)=delete;

Move assignment operator of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02074
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02074@rel:R25-11#48b2ca32
Content hash
48b2ca32
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02074
Status: valid/unmigrated Version: rel:R25-11#2e913496 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02074@rel:R25-11#2e913496
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#1378d07a2026-09-30
  • R24-11rel:R24-11#2e9134962026-10-14
  • R25-11rel:R25-11#2e9134962026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

함수 ~MultipleCondition [SWS_DM_01737] Upstream: RS_AP_00134, RS_Diag_04192

~MultipleCondition () noexcept;

Destructor of class Condition .

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01737
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01737@rel:R25-11#eb9f4df3
Content hash
eb9f4df3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01737
Status: valid/unmigrated Version: rel:R25-11#7547ee94 Versionshistorie & Revisions (1 transition, 4 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01737@rel:R25-11#7547ee94
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#7e5bd5342026-09-30
  • R23-11rel:R23-11#19037ca62026-10-14
  • R24-11rel:R24-11#7547ee942026-10-14
  • R25-11rel:R25-11#7547ee942026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill