Configura valores de umbral, anchos de paso y valores de salto para el antirrebote basado en contadores de monitores.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 60957358c6ecProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Configura valores de umbral, anchos de paso y valores de salto para el antirrebote basado en contadores de monitores.
La estructura ara::diag::CounterBased define los valores de umbral, anchos de paso y parámetros de salto para el antirrebote basado en contadores de eventos de diagnóstico [SWS_DM_00538]. Es instanciada por la aplicación y transferida al constructor de ara::diag::Monitor para definir los criterios de calificación de fallos y de superación (passed) [SWS_DM_00549]. Diagnostic Management utiliza estos parámetros para la actualización del contador, siempre que en el Diagnostic Extract (DEXT) no se hayan consignado datos de antirrebote prioritarios.
Contexto
La estructura ara::diag::CounterBased representa los parámetros de configuración para el antirrebote basado en contadores de eventos de diagnóstico [SWS_DM_00538] conforme a la especificación de AUTOSAR Adaptive Platform SWS Diagnostics §7.3.4.1.5.1 «Counter-based debouncing». Dentro del subsistema de diagnóstico sirve para el intercambio de parámetros de antirrebote entre la implementación del monitor solicitante y Diagnostic Management (DM).
La interacción se lleva a cabo esencialmente a través de cuatro interlocutores de interfaz:
La aplicación de diagnóstico instancia y completa CounterBased con valores límite de eventos.
El Diagnostic Extract (DEXT) define parámetros de antirrebote precedentes; si existen parámetros coincidentes en el DEXT, estos tienen prioridad obligatoria y los valores transferidos por constructor son ignorados por el DM [SWS_DM_01099].
Como estructura de datos de C++ (struct) SWS Diagnostics §8.41.2 «Struct: CounterBased», el componente de software solicitante crea CounterBased como contenedor puro de valores en la pila o en el montón. Su ciclo de vida suele limitarse a la fase de configuración e inicialización previa a la creación del ara::diag::Monitor.
Una vez definidos los atributos, la estructura se pasa por valor al constructor de Monitor[SWS_DM_00549]. La propia estructura no conserva ningún estado dinámico interno ni posee una máquina de estados; la gestión continua del contador corresponde exclusivamente a Diagnostic Management. Dado que CounterBased está concebida como una estructura de datos pasiva y no posee mecanismos de sincronización internos, según la interpretación, la configuración debe realizarse de forma local al hilo o sincronizada antes de la transferencia al monitor.
Ruta de uso
El uso típico se divide en la definición de los parámetros de antirrebote, la transferencia al monitor y la evaluación del contador en tiempo de ejecución:
La aplicación crea una instancia de CounterBased y asigna los valores límite: failedThreshold para la calificación de fallos [SWS_DM_00621] así como passedThreshold para el reconocimiento de superación [SWS_DM_00622].
Los anchos de paso se definen mediante failedStepsize para estados de fallo notificados [SWS_DM_00623] y passedStepsize para notificaciones de superación [SWS_DM_00624].
Opcionalmente se configuran adaptaciones por saltos: mediante useJumpToFailed[SWS_DM_00627] y failedJumpValue[SWS_DM_00625] se activa el salto a un valor mínimo de fallo. De forma análoga, useJumpToPassed[SWS_DM_00628] y passedJumpValue[SWS_DM_00626] controlan saltos en dirección al estado correcto.
La estructura cumplimentada se pasa al constructor de Monitor[SWS_DM_00549]. En la medida en que no existan definiciones DEXT, el DM utiliza estos valores [SWS_DM_01101].
Si el contador alcanza failedThreshold, el DM clasifica el evento como kFinallyDefective[SWS_DM_00024]. Lo correspondiente se aplica para notificaciones de superación mediante passedStepsize[SWS_DM_00876].
Al utilizar CounterBased deben tenerse en cuenta varias condiciones de contorno y reglas de prioridad:
Conflicto de prioridad DEXT: si hay parámetros de antirrebote presentes en el DEXT, el DM ignora por completo los parámetros definidos en CounterBased[SWS_DM_01099]. Se produce una configuración errónea si los desarrolladores de la aplicación esperan una modificación dinámica de parámetros a través del constructor a pesar de que los valores estáticos del DEXT están activos.
Valores DEXT faltantes: si no constan datos en el DEXT, el DM depende obligatoriamente de que el constructor proporcione una instancia válida de CounterBased[SWS_DM_01101].
Superación de umbral: si el contador de antirrebote interno supera el valor de umbral failedThreshold debido a la adición de failedStepsize, el DM restablece el contador exactamente a dicho valor de umbral y califica el defecto [SWS_DM_00024], [SWS_DM_00875].
Lógica de salto condicional: si useJumpToFailed está establecido, el salto a failedJumpValue solo se ejecuta si el valor del contador antes del incremento es estrictamente menor que failedJumpValue[SWS_DM_00022]. Para useJumpToPassed se aplica de forma análoga que el contador debe ser mayor que passedJumpValue[SWS_DM_00023].
Esta guía se basa en la especificación AUTOSAR Adaptive Platform R25-11 y resume los requisitos para el antirrebote basado en contadores.
gemini-3.8-flash-low· 2026-10-13 · Original en alemán