Configure la concurrence admissible pour les accès en lecture et en écriture sur les ports pour identifiants de données.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ec523fe189beProvenanceQuestions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Configure la concurrence admissible pour les accès en lecture et en écriture sur les ports pour identifiants de données.
La structure ara::diag::DataIdentifierConcurrencyType spécifie le comportement de concurrence admissible pour les ports de diagnostic associés à des identifiants de données (Data Identifier) [SWS_DM_00936]. Via les variables membres read, write et readWrite, l'application définit dans quelle mesure le Diagnostic Management (DM) est autorisé à exécuter en parallèle des appels de lecture et d'écriture. Comme contrainte essentielle, l'ensemble des champs est préinitialisé par défaut de manière défensive avec ConcurrencyType::kNotConcurrent, ce qui fait qu'une exécution concurrente n'est autorisée que par une définition explicite sur kConcurrent[SWS_DM_00939].
Contexte
La structure C++ ara::diag::DataIdentifierConcurrencyType sert, dans l'AUTOSAR Adaptive Platform, à spécifier le comportement de concurrence sur les ports associés à des identifiants de données de diagnostic (Data Identifier, DID) [SWS_DM_00936]. Elle fait office de type de données de configuration standardisé par lequel un logiciel applicatif déclare ses capacités de traitement parallèle auprès du système d'exécution de diagnostic (AUTOSAR_AP_SWS_Diagnostics §8.8.2 « Struct: DataIdentifierConcurrencyType »). La structure fait partie des définitions d'interfaces pour le module diag (AUTOSAR_AP_SWS_Diagnostics p. 79).
Le partenaire d'interaction essentiel est le Diagnostic Management (DM). Les requêtes de diagnostic entrantes sont réceptionnées par le DM et transmises aux méthodes correspondantes du port DataIdentifier. En se basant sur les valeurs enregistrées dans DataIdentifierConcurrencyType, le DM décide si les opérations de lecture et d'écriture peuvent être appelées de manière concurrente ou si elles doivent être sérialisées séquentiellement [SWS_DM_00939].
Cycle de vie
La structure est intégrée via le fichier d'en-tête ara/diag/concurrency.h et instanciée sous la forme d'un objet de données C++ pur (struct) [SWS_DM_00936]. Lors de la création, toutes les variables membres contenues sont initialisées de manière défensive avec la valeur par défaut ConcurrencyType::kNotConcurrent[SWS_DM_00937]. Cela garantit qu'aucun appel parallèle n'est effectué par le DM sans autorisation explicite de la part de l'application.
Le cycle de vie de la configuration de la structure est généralement lié à l'initialisation du port DataIdentifier correspondant. L'application crée l'objet, définit les degrés de concurrence souhaités et transmet la configuration au port. Pendant l'exploitation active ultérieure du diagnostic, les paramètres restent inchangés, de sorte que le Diagnostic Management peut ordonnancer les appels de méthodes de manière déterministe (AUTOSAR_AP_SWS_Diagnostics §8.8.2.1 « Public Member Variables »).
La structure divise la concurrence en trois champs de configuration orthogonaux :
read : définit le type de concurrence pour les accès en lecture seule (Reads) [SWS_DM_00937].
write : définit le type de concurrence pour les accès en écriture (Writes) [SWS_DM_00938].
readWrite : définit le comportement lors de l'appel conjoint et parallèle de méthodes de lecture et d'écriture [SWS_DM_00939].
Parcours d'utilisation
Un chemin d'utilisation nominal commence par la fourniture d'un service de diagnostic par une application adaptative. Si l'implémentation interne du port est thread-safe, l'application peut autoriser l'exécution parallèle des accès en lecture et en écriture. Pour cela, une instance de DataIdentifierConcurrencyType est créée et le champ readWrite est défini sur ConcurrencyType::kConcurrent[SWS_DM_00939]. De même, read et write peuvent être configurés selon les besoins [SWS_DM_00937], [SWS_DM_00938].
Dès que le port DataIdentifier est enregistré auprès du DM, le DM reçoit les commandes de diagnostic externes et les transmet (AUTOSAR_AP_SWS_Diagnostics p. 1115). Lorsque kConcurrent est défini, le DM est autorisé à exécuter simultanément les appels de lecture et d'écriture entrants, ce qui optimise le débit et la latence [SWS_DM_00939]. Si la configuration reste à la valeur par défaut kNotConcurrent, le DM sérialise les appels.
Diagramme de séquence : déroulement typique de la configuration et du contrôle concurrent des appels par le Diagnostic Management (DM). Sources : [SWS_DM_00936], [SWS_DM_00939].
Ce guide résume la spécification d'ara::diag::DataIdentifierConcurrencyType dans AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand