DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite definir y consultar múltiples condiciones de diagnóstico mediante handles a través de una interfaz común.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2f3f3f7d9426 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite definir y consultar múltiples condiciones de diagnóstico mediante handles a través de una interfaz común.

La clase ara::diag::MultipleCondition sirve para consultar y actualizar de forma agrupada múltiples condiciones de diagnóstico a través de una interfaz de puerto común mediante handles numéricos ([SWS_DM_01730]). Las aplicaciones instancian el objeto a través de un InstanceSpecifier y controlan condiciones de forma selectiva mediante SetCondition y GetCondition ([SWS_DM_01729]). Como condición de contorno esencial, la clase no es copiable ni desplazable, y su destructor no es seguro para subprocesos. Además, todas las condiciones direccionadas en el modelo deben estar configuradas de forma coherente mediante mapeos de puertos, a fin de evitar errores de inicialización y de tiempo de ejecución.

Contexto

La clase ara::diag::MultipleCondition permite a una aplicación adaptativa la gestión y modificación agrupadas de múltiples condiciones de diagnóstico a través de una interfaz común ([SWS_DM_01730]). Funcional y semánticamente, ofrece las mismas capacidades que las condiciones individuales, pero amplía las operaciones con el direccionamiento selectivo a través de un handle de identificación (AUTOSAR_AP_SWS_Diagnostics p. 237). Cada condición de diagnóstico gestionada (DiagnosticCondition) requiere en el modelo una vinculación mediante un DiagnosticMultipleConditionPortMapping con un puerto debidamente tipificado ([SWS_DM_01727], AUTOSAR_AP_SWS_Diagnostics p. 237). El direccionamiento se efectúa mediante el tipo ConditionHandleType; si no existe un valor explícito de overrideId, el Diagnostic Management (DM) asigna valores numéricos ascendentes a partir de 0x010000 en orden alfabético de los nombres cortos ([SWS_DM_01735]).

MultipleConditionContext App Adaptive Anwendung MC ara::diag::MultipleCondition App->MC steuert / fragt ab DM Diagnostic Management MC->DM Sincronización de estado mediante puerto

Diagrama de contexto: integración de ara::diag::MultipleCondition entre la aplicación adaptativa y el Diagnostic Management. Fuentes: [SWS_DM_01727], [SWS_DM_01728], AUTOSAR_AP_SWS_Diagnostics p. 237

Ciclo de vida

Una instancia se crea a través del constructor MultipleCondition suministrando un ara::core::InstanceSpecifier ([SWS_DM_01727]). La creación es segura para subprocesos y está declarada como noexcept ([SWS_DM_01727]). El objeto posee una estricta vinculación con su ámbito local: tanto las operaciones de copia como las de movimiento están eliminadas; el constructor de copia ([SWS_DM_02072]), el constructor de movimiento ([SWS_DM_02071]), el operador de asignación por copia ([SWS_DM_02073]) y el operador de asignación por movimiento ([SWS_DM_02074]) no están disponibles (=delete).

El destructor ~MultipleCondition() está especificado explícitamente como no seguro para subprocesos ([SWS_DM_01737]). Por lo tanto, la aplicación debe asegurarse de que antes de la destrucción hayan concluido todos los accesos concurrentes al objeto. Para las llamadas a métodos regulares rige una seguridad para subprocesos condicional ([SWS_DM_01728], [SWS_DM_01729]). Interpretación: dado que la signatura del constructor según [SWS_DM_01727] no acepta ningún parámetro explícito de concurrencia, es de suponer que el ConcurrencyType requerido se determine previsiblemente mediante el modelo de puertos subyacente en el manifiesto. Pregunta Q-f29def512a68aae9 (abierta)

Ruta de uso

La secuencia típica durante la interacción con condiciones de diagnóstico comprende los siguientes pasos:

  1. Inicialización: la aplicación instancia la clase especificando el puerto de destino ([SWS_DM_01727]).
  2. Establecer estado: mediante SetCondition(conditionHandle, condition), la aplicación transmite un cambio de estado para la condición especificada y comprueba el ara::core::Result<void> resultante ([SWS_DM_01729]).
  3. Consultar estado: mediante GetCondition(conditionHandle) se solicita el estado actual de la condición direccionada de forma asíncrona como ara::core::Future<ConditionType> ([SWS_DM_01728]).
  4. Liberación de recursos: Al salir del ámbito de validez, el destructor desmantela la interfaz de forma ordenada ([SWS_DM_01737]).
Flujo típico de uso para ara::diag::MultipleConditionAplicaciónMultipleConditionDiagnosticManagementUse Case: InitialisierungMultipleCondition(specifier)Use Case: Zustand setzenSetCondition(handle, condition)Bedingungszustand aktualisierenBestaetigungResult<void>Use Case: Zustand abfragenGetCondition(handle)Zustand anfordernConditionTypeFuture<ConditionType>Use Case: Bereinigung~MultipleCondition()

Diagrama de secuencia: patrón de llamada y respuesta durante la gestión de condiciones mediante MultipleCondition. Fuentes: [SWS_DM_01727], [SWS_DM_01728], [SWS_DM_01729], [SWS_DM_01737]

Escenarios de error

Durante el uso deben distinguirse los errores de construcción debidos al modelado y los errores funcionales de tiempo de ejecución:

  • Infracciones de construcción ([SWS_DM_01727]): Si falla la resolución de InstanceSpecifier o este no hace referencia a un PortPrototype, se notifica una InstanceSpecifierMappingIntegrityViolation. Se produce una PortInterfaceMappingViolation si el puerto no está tipificado para un DiagnosticMultipleConditionInterface. Si al proceso le falta la contraparte modelada, se genera una ProcessMappingViolation. Si el mismo InstanceSpecifier se instancia varias veces en el proceso, esto da lugar a una InstanceSpecifierAlreadyInUseViolation.
  • Errores de tiempo de ejecución en llamadas a métodos: Si se pasa un parámetro no permitido o un manejador no válido a SetCondition ([SWS_DM_01729]) o GetCondition ([SWS_DM_01728]), los métodos devuelven el error DiagErrc::kInvalidArgument. Si la funcionalidad básica de Diagnostic Management no responde temporalmente, GetCondition acusa la llamada con DiagErrc::kServiceNotAvailable ([SWS_DM_01728]).

Esta guía se basa exclusivamente en las especificaciones de AUTOSAR Adaptive Platform R25-11.

Mapa de miembros

Constructores y destructor

2

Operadores

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Constructor of MultipleCondition Class.

Sobrecargas 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;

Métodos

GetCondition función

Get condition state of the requested condition.

ara::core::Future< ConditionType > GetCondition (ConditionHandleType conditionHandle) noexcept;
SetCondition función

Set condition state of the requested condition.

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

Operadores

operator= función 2

Copy assignment operator of MultipleCondition.

Sobrecargas = 2

Documentación de los métodos

función 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#53ec9fae
Content hash
53ec9fae
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

función 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#0a85abed
Content hash
0a85abed
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

función 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#1b094568
Content hash
1b094568
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

función 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#aae83719
Content hash
aae83719
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

función 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#6aa748bf
Content hash
6aa748bf
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

función 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#c4a54901
Content hash
c4a54901
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

función 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#1f3d329b
Content hash
1f3d329b
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

función ~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#4fe07b87
Content hash
4fe07b87
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