DEENESPTFRRUARHIKOZHNL

Intrusion Detection System Manager (IdsM)

ModulIdsM (Intrusion Detection System Manager)
BSW-Modul-ID108
Standard-Header#include "IdsM.h"
SWS-SpezifikationAUTOSAR_SWS_IntrusionDetectionSystemManager.pdf
ClusterSecurity & Intrusion Detection

Guía del móduloGENERADO POR IA

Recopila eventos de seguridad de los sensores, los filtra y reenvía los eventos cualificados a sumideros.
GENERADO POR IA no revisado Modelo: claude-opus-5-5 · Esfuerzo: high · Temperatura: no controlable · Prompt: cd24ae65ba9c Procedencia Preguntas abiertas (2)
Ancla causal: R20-11 Válido desde R20-11 Sintetizado para esta versión de especificación.
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Recopila eventos de seguridad de los sensores, los filtra y reenvía los eventos cualificados a sumideros.

IdsM recopila Security Events reportados por módulos BSW, CDDs y SW-Cs, los almacena en búfer y los procesa de forma asíncrona en IdsM_MainFunction [SWS_IdsM_00702]. El Reporting Mode y una cadena de filtrado compuesta por filtros de Block State, Sampling, agregación y umbral los transforman en eventos cualificados [SWS_IdsM_01004]. Estos se envían a través de PduR a un IdsR o se almacenan en DEM/Sem. La marca de tiempo, la firma y el acceso de diagnóstico son opcionales. IdsM no evalúa el significado de los datos de contexto; la reacción ante ataques queda fuera del módulo.

IdsM recibe Security Events (SEv) de sensores de seguridad, es decir, de módulos BSW, CDDs y SW-Cs. Mediante una cadena de filtrado los transforma en Qualified Security Events (QSEv) [SWS_IdsM_00902]. Envía los QSEvs a través de PduR a un IdsR, los almacena en DEM/Sem o ambos [SWS_IdsM_01202] [SWS_IdsM_01600]. No evalúa el significado de los datos de contexto. La reacción ante ataques queda fuera del módulo, por ejemplo en un SOC [SWS_IdsM_CONSTR_00001].

kontext sensoren sensores (BSW, CDD, SW-C a través de RTE) idsm IdsM sensoren->idsm IdsM_SetSecurityEvent… bswm BswM bswm->idsm IdsM_BswM_StateChanged dcm Dcm dcm->idsm IdsM_Dcm_…ReportingMode… stbm StbM idsm->stbm StbM_GetCurrentTime swc SW-C (CustomTimestamp) idsm->swc IdsM_CustomTimestamp.Get csm Csm idsm->csm Csm_SignatureGenerate nvm NvM idsm->nvm NvM_WriteBlock pdur PduR idsm->pdur PduR_IdsMTransmit dem Dem / Sem (DRAFT) idsm->dem QSEv speichern det Det idsm->det Det_ReportError csm->idsm IdsM_CsmNotification pdur->idsm IdsM_CopyTxData, IdsM_TxConfirmation, IdsM_TpTxConfirmation idsr IdsR (otra unidad de control) pdur->idsr IDS-Nachricht

Diagrama de contexto: IdsM conecta los sensores emisores con los sumideros PduR/IdsR y DEM/Sem. BswM, StbM, CSM, DCM y NvM están conectados de forma opcional. Fuentes: SWS IdsM p. 20, [SWS_IdsM_91023]

Los sensores reportan a través de IdsM_SetSecurityEvent o de una de cinco variantes con datos de contexto (hasta 1500 bytes), contador y marca de tiempo [SWS_IdsM_00300] [SWS_IdsM_00404] [SWS_IdsM_00501]. Al hacerlo, utilizan siempre el nombre simbólico del IdsMEvent [SWS_IdsM_00607]. El servicio de notificación solo almacena en búfer el SEv. El procesamiento real se ejecuta de forma asíncrona en IdsM_MainFunction [SWS_IdsM_00702]. Si falta un Event Buffer libre, IdsM desencadena un SEv interno, siempre que este esté configurado [SWS_IdsM_00703].

La cualificación comienza con el Reporting Mode. Los valores posibles son OFF, BRIEF, DETAILED y las variantes que omiten los filtros [SWS_IdsM_01002] [SWS_IdsM_91013]. Después se ejecutan los filtros activos en un orden fijo: Block State, Forward Every n-th, Aggregation, Threshold [SWS_IdsM_01004]. Si un filtro descarta el SEv, la evaluación finaliza [SWS_IdsM_01005]. Antes del envío al IdsR se aplican adicionalmente limitaciones de tasa y de tráfico [SWS_IdsM_01070]. Es de suponer que estas también se apliquen a los modos bypass (interpretación). Pregunta (abierta)

filterkette a SEv del Event Buffer (IdsM_MainFunction) rm Reporting Mode? (IdsMReportingModeFilter) a->rm bs Block State Filter: aktueller Zustand in IdsMBlockState? rm->bs BRIEF / DETAILED drop SEv verworfen rm->drop OFF q QSEv rm->q BRIEF_ / DETAILED_ BYPASSING_FILTERS fn Forward Every n-th Filter: weiterzuleitendes Ereignis? bs->fn No bs->drop Sí ag Event Aggregation Filter: Intervallende erreicht? fn->ag Sí fn->drop No coll Recopilado en el intervalo de agregación (contador sumado) ag->coll No th Event Threshold Filter: Summe mindestens IdsMEventThresholdNumber? ag->th sí, contador totalizador th->drop No th->q Sí sink Konfigurierte Senken q->sink lim Rate Limitation, luego Traffic Limitation sink->lim IdsMSinkIdsR (interpretación: también en caso de omisión) dem Dem / Sem (DRAFT) sink->dem IdsMSinkDem lim->drop límite superado idsr PduR an IdsR lim->idsr dentro de los límites

Diagrama de actividades: primero el Reporting Mode, luego la cadena de filtrado y por último las limitaciones de instancia antes de IdsR. Fuentes: SWS IdsM p. 35, [SWS_IdsM_01004], [SWS_IdsM_01070]

Opcionalmente pueden habilitarse funciones adicionales [SWS_IdsM_01100] [SWS_IdsM_01204] [SWS_IdsM_01901] [SWS_IdsM_01702]:

  • Marca de tiempo procedente de StbM o de la aplicación
  • Firma a través de CSM
  • Lectura y modificación del Reporting Mode a través de DCM, con persistencia en NvM y rollback en caso de error

IdsM solo notifica errores de desarrollo a DET si IdsMDevErrorDetect está activo [SWS_IdsM_02003]. El sumidero DEM/Sem tiene el estado DRAFT en R20-11 [SWS_IdsM_01601].

Rol: del evento de seguridad reportado al evento cualificado

El Intrusion Detection System Manager (IdsM) recopila Security Events (SEv). Estos son detectados y reportados por sensores de seguridad, es decir, módulos BSW, Complex Device Drivers o SW-Cs SWS IdsM p. 10. IdsM comprueba cada SEv frente a una secuencia configurable de filtros: la cadena de filtrado. Si el SEv supera esta comprobación, se convierte en un Qualified Security Event (QSEv) [SWS_IdsM_00902]. Solo se procesan posteriormente los QSEvs. Estos se envían a través de PduR a un IdsR en otra unidad de control, se almacenan en DEM/Sem o ambos [SWS_IdsM_01202] [SWS_IdsM_01600] SWS IdsM p. 35.

El límite del sistema es estrecho. IdsM no conoce el significado de los datos de contexto y, por tanto, no decide por sí mismo si un sistema está comprometido. La detección y la reacción quedan fuera del módulo, por ejemplo en un SOC [SWS_IdsM_CONSTR_00001]. No existen interfaces obligatorias hacia otros módulos [SWS_IdsM_91023]. Cada acoplamiento se activa mediante la configuración. Así lo muestran las inclusiones condicionales de encabezados:

  • Det.h en caso de IdsMDevErrorDetect
  • Dem.h en caso de IdsMSinkDem
  • Dcm.h en caso de IdsMDiagnosticSupport
  • NvM.h en caso de IdsMNvmBlockDescriptor
  • PduR.h en caso de IdsMSinkIdsR

Evidencias para estas inclusiones: de [SWS_IdsM_00101] a [SWS_IdsM_00105].

kontext sensoren sensores (BSW, CDD, SW-C a través de RTE) idsm IdsM sensoren->idsm IdsM_SetSecurityEvent… bswm BswM bswm->idsm IdsM_BswM_StateChanged dcm Dcm dcm->idsm IdsM_Dcm_…ReportingMode… stbm StbM idsm->stbm StbM_GetCurrentTime swc SW-C (CustomTimestamp) idsm->swc IdsM_CustomTimestamp.Get csm Csm idsm->csm Csm_SignatureGenerate nvm NvM idsm->nvm NvM_WriteBlock pdur PduR idsm->pdur PduR_IdsMTransmit dem Dem / Sem (DRAFT) idsm->dem QSEv speichern det Det idsm->det Det_ReportError csm->idsm IdsM_CsmNotification pdur->idsm IdsM_CopyTxData, IdsM_TxConfirmation, IdsM_TpTxConfirmation idsr IdsR (otra unidad de control) pdur->idsr IDS-Nachricht

Diagrama de contexto: IdsM se sitúa entre los sensores emisores y los sumideros PduR/IdsR, así como DEM/Sem. BswM, StbM, CSM, DCM y NvM suministran el estado operativo, la hora, la firma y el acceso de diagnóstico. Fuentes: SWS IdsM p. 20, SWS IdsM p. 14, [SWS_IdsM_01022], [SWS_IdsM_01104], [SWS_IdsM_01206], [SWS_IdsM_01701]

Inicio, identidad de eventos e interfaces de notificación

IdsM_Init inicializa todas las variables internas y coloca el módulo en el estado «inicializado» [SWS_IdsM_00202] [SWS_IdsM_91001]. Solo IdsM_Init y IdsM_GetVersionInfo pueden invocarse antes de este momento SWS IdsM p. 21. Una nueva llamada a IdsM_Init no vuelve a inicializar el módulo por segunda vez [SWS_IdsM_00204].

lebenszyklus start comenzar uninit No inicializado start->uninit uninit->uninit API distinta de IdsM_Init / IdsM_GetVersionInfo: Det_ReportError IDSM_E_UNINIT (solo con IdsMDevErrorDetect) init Initialisiert uninit->init IdsM_Init(configPtr): todas las variables internas inicializadas init->init IdsM_Init de nuevo: sin reinicialización, Det_ReportError IDSM_E_ALREADY_INITIALIZED (solo con IdsMDevErrorDetect) init->init IdsM_MainFunction, Melde-Dienste, Callbacks

Diagrama de estados: el módulo reconoce dos estados. Las llamadas erróneas en ambos estados solo notifican un error a DET si la detección de errores de desarrollo está activa. Fuentes: [SWS_IdsM_00202], [SWS_IdsM_00203], [SWS_IdsM_00204], SWS IdsM p. 21

Cada SEv se identifica mediante tres identificadores y el nombre del evento [SWS_IdsM_00600]:

Los sensores reportan exclusivamente a través del nombre simbólico del contenedor IdsMEvent. No deben confiar en el valor interno [SWS_IdsM_00602] [SWS_IdsM_00607]. Para la notificación se dispone de seis servicios:

ServicioDatos adicionalesReferencia
IdsM_SetSecurityEventninguno[SWS_IdsM_00300]
IdsM_SetSecurityEventWithContextDataDatos de contexto[SWS_IdsM_00301]
IdsM_SetSecurityEventWithCountContador (Smart Sensor)[SWS_IdsM_00401]
IdsM_SetSecurityEventWithCountContextDataContador, datos de contexto[SWS_IdsM_00402]
IdsM_SetSecurityEventWithTimestampCountMarca de tiempo, contador[SWS_IdsM_00403]
IdsM_SetSecurityEventWithTimestampCountContextDataMarca de tiempo, contador, datos de contexto[SWS_IdsM_00404]

El sensor transfiere los datos de contexto como un puntero a un array de bytes. Se admiten hasta 1500 bytes [SWS_IdsM_00501] [SWS_IdsM_00502]. Quien disponga de una marca de tiempo, pero no de un contador propio, reporta con count = 1 [SWS_IdsM_00405].

Las SW-Cs con IDs externos en el rango de 0x8000–0xFFFE acceden a IdsM a través de las interfaces de servicio IdsMService_{EventName} o IdsMSmartSensorService_{EventName}. Cuál interfaz aplica depende de IdsMAdditionalParameterOption (None, Count, CountTimestamp) [SWS_IdsM_91027] [SWS_IdsM_91028] [SWS_IdsM_01301] [SWS_IdsM_01303]. En R20-11 estos servicios son normativos. Versiones posteriores los designan como OBSOLETE SWS IdsM p. 67.

Almacenamiento en búfer y procesamiento asíncrono en IdsM_MainFunction

Los servicios de notificación no procesan un SEv de inmediato. IdsM lo deposita primero en un Event Buffer. El filtrado y la transmisión se realizan más tarde y de forma asíncrona en la IdsM_MainFunction llamada periódicamente [SWS_IdsM_00702] [SWS_IdsM_00901] [SWS_IdsM_91000]. El número de Event Buffers (IdsMNumberOfEventBuffers) es configurable [SWS_IdsM_00701]. Como valor orientativo, la especificación recomienda el número de instancias de filtros de agregación más el límite superior de eventos procesados en paralelo SWS IdsM p. 24.

notificación y procesamiento asíncrono de un SEvSensorIdsMBswDefaultTaskStbMsumidero (PduR / Dem)Use Case: notificación en el contexto del sensorIdsM_SetSecurityEvent(securityEventId)o una de las cinco variantesSEv in Event Buffer ablegenvincular Context Data Buffer si procederetorno (void)Use Case: Zyklische VerarbeitungIdsM_MainFunction()optIdsMTimestampOption = AUTOSAR, kein Zeitstempel gemeldetStbM_GetCurrentTime()aktuelle Zeittodos los SEv almacenados en búfer: Reporting Mode,Filterkette, Zeitstempel zuordnenoptSEv als QSEv qualifiziertQSEv an konfigurierte Senken

Diagrama de secuencias: la notificación retorna inmediatamente tras el almacenamiento en búfer. La marca de tiempo, el filtrado y la transmisión se producen recién en IdsM_MainFunction. Fuentes: SWS IdsM p. 86, [SWS_IdsM_00702], [SWS_IdsM_00901], [SWS_IdsM_01107]

Los datos de contexto residen en Context Data Buffers propios con tamaño configurable de hasta 1500 bytes [SWS_IdsM_00704] SWS IdsM p. 122. IdsM selecciona un búfer de tamaño igual o inmediatamente superior y lo vincula con el Event Buffer [SWS_IdsM_00705] [SWS_IdsM_00706]. Un SEv sin datos de contexto no ocupa dicho búfer [SWS_IdsM_00709]. Para los SEvs internos del propio IdsM existen búferes propios y separados [SWS_IdsM_00802].

puffer a SEv recibido a través del servicio de notificación b Event Buffer frei? a->b c Interner SEv IDSM_INTERNAL_EVENT_NO_EVENT_BUFFER_AVAILABLE (falls konfiguriert) b->c No d SEv in Event Buffer speichern b->d Sí x el SEv no se puede tratar c->x e Kontextdaten gemeldet? d->e f ¿Context Data Buffer del mismo tamaño o del tamaño inmediatamente superior libre? e->f Sí i seguir procesando el SEv sin datos de contexto e->i No g vincular Context Data Buffer con Event Buffer f->g Sí h Interner SEv IDSM_INTERNAL_EVENT_NO_CONTEXT_DATA_BUFFER_AVAILABLE (falls konfiguriert) f->h No j Asynchrone Verarbeitung in IdsM_MainFunction g->j h->i i->j

Diagrama de actividades: así se asignan los búferes al recibir un SEv. Si falta un búfer de contexto, el SEv se procesa sin datos de contexto. Si falta un Event Buffer, el SEv no puede ser tratado. Fuentes: [SWS_IdsM_00703], [SWS_IdsM_00705], [SWS_IdsM_00707], [SWS_IdsM_00708], [SWS_IdsM_91015], SWS IdsM p. 27

Cualificación: Reporting Mode, cadena de filtrado y límites de instancia

Primero, IdsM evalúa el Reporting Mode. Cada SEv tiene exactamente un filtro de Reporting Mode. Este filtro es obligatorio, está asociado directamente al SEv y no forma parte de la cadena de filtrado [SWS_IdsM_01010] [SWS_IdsM_01011]. El valor inicial proviene de IdsMReportingModeFilter [SWS_IdsM_01012]. La cadena de filtrado le sigue recién después [SWS_IdsM_01002]. IdsM_Filters_ReportingModeType reconoce estos modos [SWS_IdsM_91013]:

  • IDSM_REPORTING_MODE_OFF: el evento no se reporta.
  • IDSM_REPORTING_MODE_BRIEF: notificación sin datos de contexto.
  • IDSM_REPORTING_MODE_DETAILED: notificación con datos de contexto.
  • Las dos variantes …_BYPASSING_FILTERS: notificación igual que BRIEF o DETAILED, pero sin filtrar.

La cadena de filtrado está asignada al SEv [SWS_IdsM_01001] [SWS_IdsM_00903]. Cada IdsMFilterChain requiere al menos un filtro [SWS_IdsM_CONSTR_00002]. Los filtros activos se ejecutan en un orden fijo [SWS_IdsM_01004]. Si un filtro descarta el SEv, la evaluación finaliza de inmediato. De lo contrario, el SEv pasa al siguiente filtro [SWS_IdsM_00904] [SWS_IdsM_00905] [SWS_IdsM_01005]. Los cuatro filtros en este orden:

  1. Block State: BswM notifica el estado actual mediante IdsM_BswM_StateChanged como máscara de bits del tipo IdsM_Filters_BlockStateType. Si este estado está referenciado en IdsMBlockState, el filtro descarta el SEv [SWS_IdsM_01022] [SWS_IdsM_01023] [SWS_IdsM_91017]. Un filtro puede referenciar hasta 16 estados SWS IdsM p. 85.
  2. Forward Every n-th: el primer SEv continúa, luego cada n-ésimo según IdsMNthParameter. Los datos permanecen inalterados en el proceso [SWS_IdsM_01031] [SWS_IdsM_01032] [SWS_IdsM_01033].
  3. Event Aggregation: durante el intervalo, el filtro no reenvía nada. Al final del intervalo se genera un único SEv con el contador acumulado [SWS_IdsM_01043] [SWS_IdsM_01046]. Los datos de contexto y la marca de tiempo proceden del primer o del último SEv del intervalo, según IdsMContextDataSourceSelector [SWS_IdsM_01047] [SWS_IdsM_01049]. Un ejemplo se muestra en SWS IdsM p. 40.
  4. Event Threshold: el filtro descarta los SEvs mientras la suma de contadores en el intervalo en curso sea inferior a IdsMEventThresholdNumber. Al expirar el intervalo, la suma se restablece [SWS_IdsM_01061] [SWS_IdsM_01062] [SWS_IdsM_01063]. Un ejemplo se muestra en SWS IdsM p. 41.

Todos los intervalos son múltiplos de IdsMMainFunctionPeriod. El intervalo de agregación y el de umbral se ejecutan a partir de la primera llamada de la Main Function [SWS_IdsM_01050] [SWS_IdsM_01051] [SWS_IdsM_01065].

Antes del envío al IdsR se aplican dos limitaciones para toda la instancia de IdsM [SWS_IdsM_01070]:

  • La limitación de tasa permite como máximo IdsMRateLimitationMaximumEvents QSEvs por intervalo [SWS_IdsM_01081].
  • La limitación de tráfico permite como máximo IdsMTrafficLimitationMaximumBytes bytes por intervalo [SWS_IdsM_01091] [SWS_IdsM_01093].

Los SEvs internos de IdsM no pasan por estos filtros de instancia. Sin embargo, pueden tener filtros específicos de evento [SWS_IdsM_00803] [SWS_IdsM_00804]. Interpretación: los modos bypass solo eluden la cadena de filtrado. Pregunta (abierta) Es probable que las limitaciones de tasa y tráfico también se apliquen a ellos, ya que [SWS_IdsM_01070] exige estas limitaciones antes de cada transmisión al IdsR.

filterkette a SEv del Event Buffer (IdsM_MainFunction) rm Reporting Mode? (IdsMReportingModeFilter) a->rm bs Block State Filter: aktueller Zustand in IdsMBlockState? rm->bs BRIEF / DETAILED drop SEv verworfen rm->drop OFF q QSEv rm->q BRIEF_ / DETAILED_ BYPASSING_FILTERS fn Forward Every n-th Filter: weiterzuleitendes Ereignis? bs->fn No bs->drop Sí ag Event Aggregation Filter: Intervallende erreicht? fn->ag Sí fn->drop No coll Recopilado en el intervalo de agregación (contador sumado) ag->coll No th Event Threshold Filter: Summe mindestens IdsMEventThresholdNumber? ag->th sí, contador totalizador th->drop No th->q Sí sink Konfigurierte Senken q->sink lim Rate Limitation, luego Traffic Limitation sink->lim IdsMSinkIdsR (interpretación: también en caso de omisión) dem Dem / Sem (DRAFT) sink->dem IdsMSinkDem lim->drop límite superado idsr PduR an IdsR lim->idsr dentro de los límites

Diagrama de actividades: primero Reporting Mode, luego los filtros en orden fijo, finalmente las limitaciones de instancia antes de IdsR. Los filtros no configurados se omiten. Fuentes: SWS IdsM p. 35, [SWS_IdsM_01002], [SWS_IdsM_01004], [SWS_IdsM_01070], [SWS_IdsM_91013]

Marca de tiempo, mensaje IDS y sumideros

La marca de tiempo es opcional y se controla globalmente mediante IdsMTimestampOption [SWS_IdsM_01100]:

Si el propio sensor suministra una marca de tiempo, esta tiene prioridad [SWS_IdsM_01108]. IdsM la trunca a los 62 bits de menor peso [SWS_IdsM_01110]. Según los diagramas de secuencia temporal, IdsM determina la marca de tiempo en la Main Function para todos los eventos almacenados en búfer SWS IdsM p. 87.

zeitstempel a QSEv aufbereiten opt IdsMTimestampOption? a->opt none sin marca de tiempo; se ignora la marca de tiempo notificada opt->none None given ¿marca de tiempo notificada por el sensor? opt->given AUTOSAR / Custom trunc truncar a los 62 bits de menor peso y utilizar given->trunc Sí src ¿fuente según la opción? given->src No add Zeitstempel in QSEv aufnehmen trunc->add stbm StbM_GetCurrentTime() src->stbm AUTOSAR cust IdsM_CustomTimestamp, operación Get a través del puerto CustomTimestamp src->cust Custom stbm->add cust->add

Diagrama de actividades: cómo se selecciona la fuente de la marca de tiempo según IdsMTimestampOption. Fuentes: [SWS_IdsM_01106], [SWS_IdsM_01107], [SWS_IdsM_01108], [SWS_IdsM_01109], [SWS_IdsM_01110], SWS IdsM p. 86

Un QSEv tiene la misma estructura, independientemente del sumidero al que vaya [SWS_IdsM_01200]. El mensaje IDS consta del Event Frame y, opcionalmente, de Timestamp, Context Data y Signature PRS IDS p. 11. Los sumideros que utiliza un evento se determinan mediante la configuración del IdsMEvent [SWS_IdsM_01201].

La firma es opcional. Se activa globalmente en cuanto se configura IdsMCsmJobReference. Se desencadena a través de Csm_SignatureGenerate. En los trabajos síncronos la firma está disponible de inmediato; en los asíncronos IdsM_CsmNotification notifica el resultado [SWS_IdsM_01204] [SWS_IdsM_01206] [SWS_IdsM_01207] [SWS_IdsM_01208].

Para el sumidero IdsR, IdsM transmite a través de PduR_IdsMTransmit [SWS_IdsM_01498]. Si el mensaje cabe en una Bus-PDU, utiliza una IF-PDU; de lo contrario, una TP-PDU [SWS_IdsM_01400] [SWS_IdsM_01401]. Una nueva orden de envío solo se emite tras la confirmación de la anterior [SWS_IdsM_01499]. El sumidero DEM/Sem almacena el mensaje IDS completo. En R20-11 tiene el estado DRAFT [SWS_IdsM_01601] [SWS_IdsM_01602].

firma y transmisión de un QSEv al IdsRIdsMCsmPduRUse Case: Optional: Signatur (IdsMCsmJobReference konfiguriert)Csm_SignatureGenerate()altsynchroner Csm-Jobretorno: firma disponible de inmediatoasynchroner Csm-JobIdsM_CsmNotification()Use Case: transmisión (IdsMSinkIdsR)PduR_IdsMTransmit()altel mensaje IDS cabe en una PDU de bus (IdsMIfTxPdu)IdsM_TxConfirmation(TxPduId, result)de lo contrario, segmentado (IdsMTpTxPdu)loophasta que la PDU esté completamente copiadaIdsM_CopyTxData(id, info, retry, availableDataPtr)BufReq_ReturnTypeIdsM_TpTxConfirmation(id, result)Kein weiteres PduR_IdsMTransmitantes de la confirmación

Diagrama de secuencias: primero la firma opcional a través de CSM, luego la transmisión como IF-PDU o TP-PDU segmentada con confirmación. Fuentes: [SWS_IdsM_01207], [SWS_IdsM_01208], [SWS_IdsM_01500], [SWS_IdsM_01501], [SWS_IdsM_01502], SWS IdsM p. 49

Reconfiguración de diagnóstico y persistencia del Reporting Mode

El acceso de diagnóstico es opcional y se activa mediante IdsMDiagnosticSupport [SWS_IdsM_01800].

Tras una modificación exitosa, IdsM desencadena NvM_WriteBlock [SWS_IdsM_01701]. Si la persistencia falla, restablece el valor anterior y notifica DCM_E_GENERALPROGRAMMINGFAILURE [SWS_IdsM_01702] [SWS_IdsM_01904] [SWS_IdsM_01905].

Al arrancar, IdsM utiliza los valores persistidos. Si faltan, se aplica la configuración [SWS_IdsM_01703] [SWS_IdsM_01704]. El bloque NvM debe estar contenido en NvM_ReadAll y se denomina IdsM_NvMRamBlockData o bien IdsM_NvMRomBlockData [SWS_IdsM_01705] [SWS_IdsM_01706] [SWS_IdsM_01707]. Presumiblemente, DCM obtiene el resultado de la persistencia mediante llamadas repetidas con OpStatus DCM_PENDING. Pregunta Q-65ac99385a597b7d (abierta) Una versión posterior indica para ello DCM_E_BUSYREPEATREQUEST SWS IdsM p. 75.

Modificar y leer Reporting Mode mediante diagnosisDcmIdsMNvMUse Case: Modificar Reporting ModeIdsM_Dcm_SetReportingMode_Start(In_SecurityEventId,In_SensorInstanceId, In_ReportingMode, OpStatus, ErrorCode)altReporting Mode o ID de evento no válidoE_NOT_OK, DCM_E_REQUESTOUTOFRANGEParámetros válidosModificar IdsMReportingModeFilterNvM_WriteBlock()Interpretación: el resultado de la persistencia senotifica mediante llamadas con OpStatus DCM_PENDINGaltPersistierung fehlgeschlagenReversión al Reporting Mode anteriorE_NOT_OK, DCM_E_GENERALPROGRAMMINGFAILUREPersistierung erfolgreichE_OKUse Case: Reporting Mode lesenIdsM_Dcm_GetReportingMode_Start(In_SecurityEventId,In_SensorInstanceId, OpStatus, ErrorCode)E_OK / DCM_E_PENDING / E_NOT_OKIdsM_Dcm_GetReportingMode_RequestResults(OpStatus,Out_ReportingMode, ErrorCode)Out_ReportingMode

Diagrama de secuencias: modificación del Reporting Mode con persistencia en NvM y rollback, así como lectura en dos etapas. Fuentes: [SWS_IdsM_01901], [SWS_IdsM_01904], [SWS_IdsM_01905], [SWS_IdsM_91007], SWS IdsM p. 74. La vía de retroalimentación de la persistencia está marcada como interpretación.

Comportamiento en caso de error

IdsM solo notifica errores de desarrollo a DET si IdsMDevErrorDetect está activo. Los códigos de error figuran en [SWS_IdsM_02003]:

Atención a la nomenclatura: [SWS_IdsM_00203] denomina al código IDSM_E_PARAM_UNINIT, la tabla de errores lo incluye como IDSM_E_UNINIT (0x0D) [SWS_IdsM_02003].

IdsM reporta cuellos de botella de recursos como SEvs internos propios, siempre que estos estén configurados [SWS_IdsM_91015]:

Si un filtro descarta un SEv, se trata de un comportamiento regular y no de un error [SWS_IdsM_00904]. Un fallo de envío llega como E_NOT_OK en la confirmación [SWS_IdsM_91009]. Una regla de reintento con IdsMTransmissionRetryDelay no existe hasta R25-11 SWS IdsM p. 51.

Más evidencia detallada

Guía generada por IA sobre la base de los extractos de especificaciones en el payload (AUTOSAR Classic Platform R20-11). Son normativos únicamente los Requirements enlazados. Las afirmaciones marcadas como interpretación no están totalmente cubiertas por las fuentes.

Intrusion Detection System Manager (IdsM)

Collects and reports onboard security events to detect threats.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

función IdsM_Init [SWS_IdsM_91001] 📄 PDF

void IdsM_Init (const IdsM_ConfigType* configPtr);

Service to initialize the module IdsM. It initializes all variables and sets the module state to initialized.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 27dab8d4c20f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz síncrona y no reentrante IdsM_Init sirve para la inicialización básica del módulo IdsM según [SWS_IdsM_91001]. Al invocarse, el servicio inicializa todas las variables internas y pasa el IdsM al estado inicializado ([SWS_IdsM_00202]). A través del parámetro de entrada configPtr, la función recibe un puntero a la estructura de configuración específica del módulo ([SWS_IdsM_91001]).

La ejecución de IdsM_Init representa una condición previa funcional obligatoria para el funcionamiento del módulo. Si se invoca una API del IdsM distinta de IdsM_Init o IdsM_GetVersionInfo en un estado aún no inicializado, con la detección de desarrollo (IdsMDevErrorDetect) habilitada, el módulo notifica el error IDSM_E_PARAM_UNINIT a través de Det_ReportError ([SWS_IdsM_00203], véase también el código de error 0x0D en [SWS_IdsM_02003]).

Para el tratamiento de errores y el contexto de llamada se aplican reglas de comportamiento específicas:

  • Si se llama a IdsM_Init mientras el módulo ya se encuentra en el estado inicializado, no se realiza una reinicialización de las variables internas ([SWS_IdsM_00204]).
  • En su lugar, con IdsMDevErrorDetect habilitado, el módulo notifica a través de Det_ReportError el error de desarrollo IDSM_E_ALREADY_INITIALIZED con el valor numérico 0x0E ([SWS_IdsM_00204], [SWS_IdsM_02003]).
  • La función no tiene valor de retorno y está definida como no reentrante ([SWS_IdsM_91001]). Por lo tanto, no debe invocarse de forma concurrente ni varias veces simultáneamente mediante contextos de interrupción en el sistema.

Esta nota fue generada por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_MainFunction [SWS_IdsM_91000] 📄 PDF

void IdsM_MainFunction (void);

This function is called periodically. It processes security events asynchronously which are queued during API function calls.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 74bdc1b72d90 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función IdsM_MainFunction se invoca periódicamente y está disponible a través del archivo de cabecera IdsM.h [SWS_IdsM_91000]. Posee la signatura void IdsM_MainFunction(void), no recibe ningún parámetro y carece de valor de retorno [SWS_IdsM_91000]. La llamada de la función en sí es síncrona, pero sirve para el procesamiento asíncrono de eventos de seguridad (Security Events, SEv) que se encolaron previamente durante llamadas síncronas a la API [SWS_IdsM_91000]. La activación periódica debería realizarse normalmente mediante el BSW-Scheduler o una tarea cíclica del sistema operativo. Pregunta Q-86e2e870c3496bad (abierta)

Concurrencia y restricciones

Según la especificación, IdsM_MainFunction está catalogada como no reentrante (Non Reentrant) [SWS_IdsM_91000]. Por consiguiente, el entorno del sistema que realiza la llamada debe garantizar que la función solo se ejecute en una única instancia en cualquier momento y que no se produzcan llamadas solapadas.

Interacción en el procesamiento de eventos

La tarea principal en el marco del procesamiento cíclico abarca los siguientes aspectos:

  • Búfer de eventos: tras la recepción de un SEv, el IdsM lo almacena en un Event Buffer; estos búferes se gestionan y filtran de forma asíncrona en el marco de IdsM_MainFunction [SWS_IdsM_00702].
  • Búfer de datos de contexto: si se recibe un SEv con datos de contexto, el IdsM utiliza búferes adecuados de un Context Data Buffer Pool; estos búferes también se gestionan y filtran de forma asíncrona en IdsM_MainFunction [SWS_IdsM_00705].
  • Cualificación: los SEv almacenados en los Event Buffers se procesan de forma asíncrona para identificarlos como eventos de seguridad cualificados (QSEv) [SWS_IdsM_00901].

Este texto ha sido generado por una IA a partir de la especificación R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_CopyTxDataManager [SWS_IdsM_91010] 📄 PDF

BufReq_ReturnType IdsM_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 5f2ff6078796 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función de callback se invoca de forma síncrona y reentrante para solicitar datos de transmisión correspondientes a segmentos de una I-PDU (N-PDU) [SWS_IdsM_91010]. Está disponible a través de la cabecera IdsM_Cbk.h y atiende al Service ID 0x43 [SWS_IdsM_91010].

Mediante id se identifica la I-PDU que se va a transmitir [SWS_IdsM_91010]. El parámetro info pasa el búfer de destino (SduDataPtr), así como la longitud en bytes solicitada (SduLength); un valor de 0 para SduLength (donde SduDataPtr puede ser un NULL_PTR) sirve para cambios de estado en el parámetro retry o para consultar los datos restantes [SWS_IdsM_91010]. A través de availableDataPtr, la función notifica la cantidad de datos que queda en el búfer de Tx, lo que permite a protocolos de transporte con longitudes de carga útil dinámicas (p. ej., FrIsoTp) determinar el tamaño de los Consecutive Frames posteriores [SWS_IdsM_91010].

Si retry es un NULL_PTR, los datos copiados pueden liberarse del búfer inmediatamente después del proceso de copia [SWS_IdsM_91010]. En caso contrario, RetryInfoType controla el tratamiento de errores: con TP_CONFPENDING, los datos previamente copiados permanecen en el búfer TP, mientras que TP_DATACONF confirma y libera todos los datos copiados antes de esta llamada [SWS_IdsM_91010]. Si TpDataState está ajustado a TP_DATARETRY, la función vuelve a copiar datos previamente transmitidos a partir del desplazamiento en bytes indicado por TxTpDataCnt [SWS_IdsM_91010].

La función devuelve BUFREQ_OK en caso de copia completa y correcta [SWS_IdsM_91010]. Si no se dispone de suficientes datos de transmisión, no se copia ningún dato y se devuelve BUFREQ_E_BUSY, tras lo cual el módulo de nivel inferior puede repetir la llamada [SWS_IdsM_91010]. Si la solicitud falla, se produce la devolución de BUFREQ_E_NOT_OK sin aceptación de datos [SWS_IdsM_91010].

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_SetSecurityEvent [SWS_IdsM_91002] 📄 PDF

void IdsM_SetSecurityEvent (IdsM_SecurityEventIdType securityEventId);

This API is the application interface to report security events to the IdsM.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: b7f6437d402e Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función IdsM_SetSecurityEvent sirve de interfaz para que las aplicaciones notifiquen eventos de seguridad al módulo IdsM (Intrusion Detection System Manager) [SWS_IdsM_91002].

Uso y contexto de llamada

La llamada se realiza de forma síncrona a través del archivo de cabecera IdsM.h con el Service ID 0x03 [SWS_IdsM_91002]. Como único parámetro de entrada se transfiere el identificador del evento de seguridad:

  • securityEventId (IN, IdsM_SecurityEventIdType): identificador unívoco del evento de seguridad notificado [SWS_IdsM_91002].

La función no tiene valor de retorno (void) [SWS_IdsM_91002].

Manejo de errores

Si la detección de errores de desarrollo (IdsMDevErrorDetect) está habilitada, el módulo verifica el parámetro securityEventId frente a los eventos de seguridad configurados [SWS_IdsM_02101]. Si se transfiere un ID de evento desconocido que no ha sido configurado en IdsMEvent, el IdsM notifica el error de desarrollo IDSM_E_PARAM_INVALID [SWS_IdsM_02101].

Concurrencia y restricciones

La función está especificada como no reentrante (Non Reentrant) [SWS_IdsM_91002]. Por tanto, el llamador debe sincronizar o evitar las llamadas concurrentes o con interrupciones procedentes de diferentes contextos.

Esta nota de uso se basa en las especificaciones de AUTOSAR Classic Platform en el release R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_SetSecurityEventWithContextData [SWS_IdsM_91003] 📄 PDF

void IdsM_SetSecurityEventWithContextData (IdsM_SecurityEventIdType securityEventId, const uint8* contextData, uint16 contextDataSize);

This API is the application interface to report security events with context data to the IdsM.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f5f82ae60185 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función IdsM_SetSecurityEventWithContextData sirve como interfaz de aplicación para la notificación síncrona de eventos de seguridad samt datos de contexto opcionales al Intrusion Detection System Manager ([SWS_IdsM_91003]). Carece de valor de retorno.

Parámetros y uso

  • securityEventId: Identificador unívoco del evento de seguridad notificado ([SWS_IdsM_91003]).
  • contextData: Puntero a datos de contexto opcionales; si no se dispone de datos de contexto, se debe pasar NULL_PTR ([SWS_IdsM_91003]).
  • contextDataSize: Tamaño de los datos de contexto facilitados en bytes ([SWS_IdsM_91003]).

Manejo de errores

Con la detección de errores de desarrollo activada (IdsMDevErrorDetect), el módulo IdsM realiza las siguientes comprobaciones:

  • Si el securityEventId pasado no procede de los eventos de seguridad configurados en IdsMEvent, se notifica el error de desarrollo IDSM_E_PARAM_INVALID ([SWS_IdsM_02102]).
  • Si contextDataSize supera el tamaño máximo de búfer configurado para datos de contexto (definido mediante el mayor valor parametrizado de IdsMContextDataBufferSize), se notifica el error de desarrollo IDSM_E_PARAM_LENGTH ([SWS_IdsM_02107]).

Concurrencia e integración

La interfaz está especificada como no reentrante (Non Reentrant) ([SWS_IdsM_91003]). Por lo tanto, quienes realicen la llamada deben asegurarse de evitar llamadas concurrentes o de sincronizarlas de manera correspondiente. La declaración está disponible a través de la cabecera IdsM.h ([SWS_IdsM_91003]).

Este texto fue generado por un sistema de IA basándose en la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_SetSecurityEventWithCount [SWS_IdsM_91018] 📄 PDF

void IdsM_SetSecurityEventWithCount (IdsM_SecurityEventIdType securityEventId, uint16 count);

This API is the application interface for Smart Sensors to report security events with a count value to the IdsM.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1b4c7b27b68c Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función síncrona IdsM_SetSecurityEventWithCount (Service-ID 0x05) representa la interfaz de aplicación para que los Smart Sensors transmitan eventos de seguridad (Security Events, SEvs) junto con un valor de conteo al IdsM [SWS_IdsM_91018], [SWS_IdsM_00401]. De este modo, el IdsM puede recibir eventos con un contador precalculado por el sensor [SWS_IdsM_00401]. La declaración de la función se proporciona a través del archivo de cabecera IdsM.h [SWS_IdsM_91018].

En la llamada, la función espera dos parámetros de entrada:

  • securityEventId: Identificador del evento de seguridad de tipo IdsM_SecurityEventIdType [SWS_IdsM_91018].
  • count: Valor de conteo de tipo uint16 que procede del sensor y actúa como valor inicial para el evento [SWS_IdsM_91018], [SWS_IdsM_00401].

La función no devuelve ningún valor y no define ningún parámetro de salida [SWS_IdsM_91018]. En cuanto a concurrencia y contexto de llamada, la función está declarada como no reentrante (Non Reentrant) [SWS_IdsM_91018]; por tanto, deben evitarse las llamadas paralelas desde el software.

Para el tratamiento de errores, se establece que el IdsM comprueba los parámetros securityEventId y count con la detección de desarrollo habilitada (IdsMDevErrorDetect) [SWS_IdsM_02103]. Si se transfiere un ID de evento desconocido o si count tiene el valor 0, se notifica el error de desarrollo IDSM_E_PARAM_INVALID [SWS_IdsM_02103].

Esta nota de uso fue generada automáticamente por una IA sobre la base de la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I1)

función IdsM_SetSecurityEventWithCountContextData [SWS_IdsM_91019] 📄 PDF

void IdsM_SetSecurityEventWithCountContextData (IdsM_SecurityEventIdType securityEventId, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a count value and context data to the IdsM.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2006a1c85bf9 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función IdsM_SetSecurityEventWithCountContextData sirve como interfaz de aplicación para sensores inteligentes con el fin de notificar de forma síncrona eventos de seguridad con valor de recuento y datos de contexto opcionales al [SWS_IdsM_91019].

Uso y parámetros

La llamada se realiza de forma síncrona y está especificada como no reentrante (Non Reentrant) [SWS_IdsM_91019]:

  • securityEventId: Identificador unívoco del evento de seguridad [SWS_IdsM_91019].
  • count: Valor de recuento que se utiliza como valor inicial para el evento de seguridad [SWS_IdsM_91019].
  • contextData: Puntero a una matriz de bytes con los datos de contexto que se deben proporcionar [SWS_IdsM_00502]. Si no hay datos de contexto, se debe pasar NULL_PTR [SWS_IdsM_91019].
  • contextDataSize: Tamaño de los datos de contexto pasados en bytes [SWS_IdsM_91019]. La función admite una longitud máxima de hasta 1500 bytes [SWS_IdsM_00501].

Manejo de errores

Con la detección de errores de desarrollo activada (IdsMDevErrorDetect), el módulo supervisa la validez de los argumentos pasados:

  • Se notifica el error de desarrollo IDSM_E_PARAM_INVALID si se pasa un securityEventId desconocido o si count presenta el valor 0 [SWS_IdsM_02104].
  • Si contextDataSize supera el tamaño máximo de búfer configurado (determinado por la mayor IdsMContextDataBufferSize configurada), el IdsM notifica el error de desarrollo IDSM_E_PARAM_LENGTH [SWS_IdsM_02108].

La función no devuelve ningún valor de retorno [SWS_IdsM_91019]; en caso de error, es de suponer que una reacción al error se base primordialmente en la notificación a través de la DET. Pregunta Q-135f4b865790f34d (abierta)

Este texto fue generado por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función IdsM_SetSecurityEventWithTimestampCount [SWS_IdsM_91020] 📄 PDF

void IdsM_SetSecurityEventWithTimestampCount (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count);

This API is the application interface for Smart Sensors to report security events with a timestamp and a count value to the IdsM.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2451b7e4c502 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz síncrona IdsM_SetSecurityEventWithTimestampCount sirve a los Smart Sensors para notificar eventos de seguridad con marca de tiempo y valor de conteo al IdsM [SWS_IdsM_91020]. La función no tiene valor de retorno y está disponible a través del archivo de cabecera IdsM.h [SWS_IdsM_91020].

Se procesan los siguientes parámetros de entrada:

  • securityEventId: Identificador específico del evento de seguridad notificado [SWS_IdsM_91020].
  • timestamp: Marca de tiempo para la referenciación temporal del evento [SWS_IdsM_91020]. Si la función de marca de tiempo está activa y se transfiere una marca de tiempo, el IdsM la utiliza para el almacenamiento o la transmisión del Security Event cualificado (QSEv) [SWS_IdsM_01108]. En cambio, si el evento se notifica sin marca de tiempo con la función activa, el IdsM pone a 0 el bit de opción para la marca de tiempo en la cabecera de protocolo antes de la transmisión o el almacenamiento [SWS_IdsM_01112].
  • count: Valor de conteo como valor inicial para el evento de seguridad [SWS_IdsM_91020]. Si no se dispone de un contador calculado previamente, la función se puede llamar con el valor 1 [SWS_IdsM_00405].

Con la detección de desarrollo habilitada (IdsMDevErrorDetect), el IdsM valida los argumentos securityEventId y count. Si se transfiere un ID de evento desconocido o si count tiene el valor 0, el módulo notifica el error de desarrollo IDSM_E_PARAM_INVALID [SWS_IdsM_02105].

En lo que respecta a la concurrencia, la función está especificada como no reentrante (Non Reentrant) [SWS_IdsM_91020].

Este texto ha sido generado automáticamente a partir de la especificación AUTOSAR.

Guía del implementador pendiente (complejidad I2)

función IdsM_SetSecurityEventWithTimestampCountContextDataManager [SWS_IdsM_91021] 📄 PDF

void IdsM_SetSecurityEventWithTimestampCountContextData (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a timestamp, a count value and context data to the IdsM.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: a1b69abd8805 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función IdsM_SetSecurityEventWithTimestampCountContextData con el Service-ID 0x08 sirve como interfaz de aplicación estandarizada para Smart Sensors a fin de notificar eventos de seguridad al Intrusion Detection System Manager (IdsM) junto con una marca de tiempo, un valor inicial de conteo y datos de contexto opcionales [SWS_IdsM_91021]. La declaración de esta interfaz se pone a disposición mediante el encabezado IdsM.h [SWS_IdsM_91021].

La llamada se ejecuta de forma síncrona y utiliza exclusivamente parámetros de entrada, sin existir parámetros de entrada/salida ni parámetros de salida [SWS_IdsM_91021]. Al realizar la llamada, deben transferirse los siguientes parámetros [SWS_IdsM_91021]:

  • securityEventId: Identificador del evento de seguridad específico que debe transmitirse al IdsM [SWS_IdsM_91021].
  • timestamp: Valor de marca de tiempo que actúa como referencia temporal del evento de seguridad ocurrido [SWS_IdsM_91021].
  • count: Valor de conteo utilizado por el IdsM como valor inicial para el respectivo evento de seguridad [SWS_IdsM_91021].
  • contextData: Puntero a datos de contexto opcionales sobre el evento; si no hay datos disponibles, debe transferirse NULL_PTR [SWS_IdsM_91021].
  • contextDataSize: Indicación numérica sobre el tamaño de los datos de contexto transferidos [SWS_IdsM_91021].

En cuanto al comportamiento de ejecución, la función está clasificada como no reentrante (Non Reentrant) y no posee valor de retorno (void) [SWS_IdsM_91021]. Por lo tanto, los Smart Sensors llamantes deben asegurarse de que no se produzcan llamadas simultáneas o solapadas a la interfaz [SWS_IdsM_91021].

Este texto ha sido generado por una IA y sirve como guía orientativa.

Guía del implementador pendiente (complejidad I1)

función IdsM_BswM_StateChanged [SWS_IdsM_91005] 📄 PDF

void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state);

This callback function is invoked by the BswM to indicate ECU state changes.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 16285d55bd09 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El BswM llama a la función de callback IdsM_BswM_StateChanged ([SWS_IdsM_91005]) para indicar al Intrusion Detection System Manager (IdsM) los cambios en el estado actual de la ECU ([SWS_IdsM_91005]). Está declarada en el archivo de cabecera IdsM_Cbk.h y posee el Service ID 0x0F ([SWS_IdsM_91005]).

La interfaz tiene la firma void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state) ([SWS_IdsM_91005]). Como único valor de entrada se utiliza el parámetro de entrada state del tipo IdsM_Filters_BlockStateType, el cual representa el estado actual de la ECU ([SWS_IdsM_91005]). No se prevén parámetros de entrada/salida ni parámetros de salida, y la función no devuelve ningún valor de retorno ([SWS_IdsM_91005]). La llamada se ejecuta de forma síncrona y está clasificada como reentrante ([SWS_IdsM_91005]).

En la interacción funcional, este servicio de notificación sirve para que el BswM informe continuamente al IdsM sobre el estado actual ([SWS_IdsM_01022]). La información de estado recibida se mantiene en el IdsM y se evalúa durante el procesamiento asíncrono posterior de los filtros de estado de bloque (block state filter) en el marco de la función principal (main function) ([SWS_IdsM_01022]). En el alcance de la especificación no se definen códigos de error específicos, valores de retorno ni notificaciones a la gestión de errores de desarrollo (DET) o de eventos de diagnóstico (DEM) para esta llamada.

Esta nota de uso se ha generado de forma automatizada y se basa en los requisitos de especificación de AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_TpTxConfirmation [SWS_IdsM_91011] 📄 PDF

void IdsM_TpTxConfirmation (PduIdType id, Std_ReturnType result);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 127e922f9325 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función de callback IdsM_TpTxConfirmation se declara como servicio síncrono y reentrante a través del archivo de cabecera IdsM_Cbk.h [SWS_IdsM_91011]. Conforme a [SWS_IdsM_01502], el módulo IdsM recibe a través de este servicio la confirmación del módulo PduR para la transmisión de una PDU segmentada. La llamada se produce tan pronto como la I-PDU correspondiente se haya transmitido en la red subyacente [SWS_IdsM_91011].

La interfaz posee el Service-ID 0x48 y no devuelve ningún valor (void) [SWS_IdsM_91011]. Al llamarla, se transfieren dos parámetros de entrada:

  • id (tipo PduIdType): identificación unívoca de la I-PDU transmitida [SWS_IdsM_91011].
  • result (tipo Std_ReturnType): transmite el resultado de la transmisión de la I-PDU e indica si el proceso de envío fue correcto o falló [SWS_IdsM_91011].

En la especificación no se definen códigos de error específicos ni mensajes de DET o DEM para esta llamada. Gracias a la reentrancia especificada, la capa invocadora puede llamar a la función en paralelo para diferentes I-PDU [SWS_IdsM_91011]. Interpretación: es probable que el módulo IdsM evalúe el parámetro de estado result para actualizar el estado de transmisión interno de la PDU segmentada y liberar los búferes de transmisión ocupados tras la finalización. Pregunta Q-9179efcbf744346d (abierta)

Este texto ha sido elaborado por una IA y se basa exclusivamente en las especificaciones de AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función IdsM_TxConfirmation [SWS_IdsM_91009] 📄 PDF

void IdsM_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 2d20d4e11a8b Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

Un módulo de interfaz de comunicación subyacente llama a la función de callback IdsM_TxConfirmation ([SWS_IdsM_91009]) para confirmar el envío correcto de una PDU o el fallo de la transmisión. Está definida de forma síncrona, declarada en IdsM_Cbk.h y no tiene valor de retorno. Recibe los siguientes parámetros:

  • TxPduId: identificador de la PDU transmitida ([SWS_IdsM_91009]).
  • result: resultado de la transmisión con E_OK en caso de envío correcto o E_NOT_OK si se produjo un error ([SWS_IdsM_91009]).

Concurrencia y restricciones

La función es reentrante para diferentes IDs de PDU, pero no es reentrante para la misma TxPduId ([SWS_IdsM_91009]).

Interacción y condiciones de orden

Para la secuencia de transmisión se aplica una condición de orden estricta: según [SWS_IdsM_01499], el IdsM solo puede volver a llamar a la función de envío PduR_IdsMTransmit una vez que se haya llamado previamente a IdsM_TxConfirmation o IdsM_TpTxConfirmation. Interpretación: la llegada de la confirmación debería servir en el IdsM como desencadenante para finalizar la transmisión y habilitar llamadas sucesivas. Pregunta Q-dd4013520e85370c (abierta)

Manejo de errores

Un fallo en la transmisión de la PDU se notifica directamente a través del parámetro result = E_NOT_OK ([SWS_IdsM_91009]). En la especificación de la interfaz no se indican códigos de error DET o DEM específicos.

Este texto se generó automáticamente a partir de la especificación AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

función IdsM_Dcm_GetReportingMode_RequestResults [SWS_IdsM_91007] 📄 PDF

Std_ReturnType IdsM_Dcm_GetReportingMode_RequestResults (Dcm_OpStatusType OpStatus, uint8* Out_ReportingMode, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to read the routine results triggered by function IdsM_Dcm_GetReportingMode_Start().

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 671f0dddec56 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y contexto de llamada

La función síncrona IdsM_Dcm_GetReportingMode_RequestResults (Service ID 0x0D, cabecera IdsM_Cbk.h) es invocada por el Diagnostic Communication Manager (DCM) para consultar los resultados de la rutina de una solicitud iniciada previamente mediante IdsM_Dcm_GetReportingMode_Start() [SWS_IdsM_91007]. A través del parámetro de transferencia OpStatus se transmite el estado de operación actual [SWS_IdsM_91007]. En caso de finalización correcta, la función devuelve E_OK y proporciona a través del puntero de salida Out_ReportingMode el modo de notificación determinado del Security Event solicitado [SWS_IdsM_91007]. Si el procesamiento aún no ha finalizado, lo señala mediante el valor de retorno DCM_E_PENDING [SWS_IdsM_91007].

Manejo de errores

Si la consulta falla, la función devuelve E_NOT_OK [SWS_IdsM_91007]. En este caso, se debe establecer un Negative Response Code (Dcm_NegativeResponseCodeType) concreto a través del parámetro ErrorCode; si este no se establece, el DCM envía el código de error 0x22 [SWS_IdsM_91007]. Para este servicio no se indican eventos DET o DEM específicos [SWS_IdsM_91007].

Concurrencia e interacción

La función está especificada como reentrante [SWS_IdsM_91007]. En cuanto a la secuencia de llamadas, presupone obligatoriamente que la rutina se haya desencadenado previamente mediante IdsM_Dcm_GetReportingMode_Start() [SWS_IdsM_91007]. Interpretación: es de suponer que el parámetro OpStatus sea utilizado por el DCM en consultas repetidas tras la devolución de DCM_E_PENDING para coordinar el progreso de la operación de diagnóstico. Pregunta Q-c268fab018a1f5b3 (abierta)

Esta nota de uso ha sido generada por una IA a partir de la especificación AUTOSAR R20-11.

Guía del implementador pendiente (complejidad I2)

función IdsM_Dcm_GetReportingMode_Start [SWS_IdsM_91006] 📄 PDF

Std_ReturnType IdsM_Dcm_GetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to request the current reporting mode of a specific Security Event ID.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 78410b323fc8 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El módulo de diagnóstico (DCM) invoca la función IdsM_Dcm_GetReportingMode_Start para iniciar en el Intrusion Detection System Manager (IdsM) la ejecución de una rutina para consultar el modo de notificación actual de un evento de seguridad (SEv) específico [SWS_IdsM_91006], [SWS_IdsM_02001]. La interfaz está declarada en la cabecera IdsM_Cbk.h, posee el Service-ID 0x0C y está especificada como síncrona y reentrante [SWS_IdsM_91006].

Durante la llamada, el DCM transfiere el ID externo del evento de seguridad (In_SecurityEventId), el ID de instancia del sensor (In_SensorInstanceId) y el estado de la operación (OpStatus) [SWS_IdsM_91006]. Como valor de retorno, la función proporciona Std_ReturnType:

En caso de error (E_NOT_OK), el IdsM está obligado a proporcionar un Negative Response Code (NRC) concreto a través del parámetro de salida ErrorCode; si esto no sucede, el DCM envía por defecto el NRC 0x22 (Conditions Not Correct) [SWS_IdsM_91006].

La función únicamente inicia la rutina; la lectura propiamente dicha de los resultados obtenidos se realiza posteriormente a través de la función IdsM_Dcm_GetReportingMode_RequestResults [SWS_IdsM_91007].

Esta nota de uso se generó automáticamente. Todos los datos se basan exclusivamente en la especificación AUTOSAR Classic R20-11.

Guía del implementador pendiente (complejidad I2)

función IdsM_Dcm_SetReportingMode_Start [SWS_IdsM_91008] 📄 PDF

Std_ReturnType IdsM_Dcm_SetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, uint8 In_ReportingMode, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to set the reporting mode of a specific Security Event ID.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ecdd252e141c Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El módulo de diagnóstico (DCM) llama a la función síncrona y reentrante IdsM_Dcm_SetReportingMode_Start para iniciar la rutina para el cambio del modo de notificación (IdsMReportingModeFilter) para un evento de seguridad determinado en el Intrusion Detection System Manager [SWS_IdsM_91008], [SWS_IdsM_01901]. La declaración se proporciona a través del archivo de cabecera IdsM_Cbk.h [SWS_IdsM_91008].

Durante la llamada se transmiten el ID de evento externo (In_SecurityEventId), el ID de instancia del sensor (In_SensorInstanceId), el nuevo modo de notificación que se debe establecer (In_ReportingMode), así como el estado de operación (OpStatus) [SWS_IdsM_91008], [SWS_IdsM_01901]. La función proporciona los siguientes valores de retorno:

  • E_OK: la ejecución de la operación ha finalizado correctamente [SWS_IdsM_91008].
  • DCM_E_PENDING: el procesamiento aún no ha finalizado y se continúa de forma asíncrona [SWS_IdsM_91008].
  • E_NOT_OK: la operación ha fallado; en este caso, se debe establecer un Negative Response Code (NRC) concreto mediante el parámetro de salida ErrorCode, ya que, de lo contrario, el DCM transmitirá el NRC 0x22 [SWS_IdsM_91008].

Si falla la validación del ID de evento debido a que se utilizó un Security Event Definition ID no válido, la función devuelve E_NOT_OK y establece obligatoriamente el código de error ErrorCode a DCM_E_REQUESTOUTOFRANGE [SWS_IdsM_01903].

Esta nota de uso se ha generado de forma automatizada y se basa en las especificaciones de AUTOSAR.

Guía del implementador pendiente (complejidad I2)

tipo IdsM_Filters_BlockStateType [SWS_IdsM_91017] 📄 PDF

Data type used for "Block State" filter values (bit masks)

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 71b3951aed67 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos IdsM_Filters_BlockStateType sirve para la definición de máscaras de bits para los denominados filtros «Block State» del Intrusion Detection System Manager (IdsM) conforme a [SWS_IdsM_91017]. El tipo se deriva de uint16, cubre el rango de valores enteros de 0 a 65535 y está disponible para módulos de software a través del encabezado IdsM_Filters_Types.h ([SWS_IdsM_91017]).

El uso principal tiene lugar en interacción con el Basic Software Mode Manager (BswM). En caso de cambios en el estado del sistema o de la ECU, el BswM llama a la función de callback IdsM_BswM_StateChanged y transfiere el estado actual de la ECU a través del parámetro state de este tipo ([SWS_IdsM_91005]). Esta interfaz de callback está declarada en IdsM_Cbk.h, no devuelve ningún valor y está especificada como síncrona y reentrante ([SWS_IdsM_91005]).

Interpretación: Dado que el tipo está concebido como máscara de bits para filtros, es de suponer que el IdsM compare el valor de estado de la ECU transferido con los estados de filtro configurados para filtrar la adquisición o el bloqueo de eventos de seguridad en función del estado de la ECU. Pregunta Q-00b355cc5ec6383f (abierta) No existe un tratamiento de errores autónomo con códigos de error específicos, mensajes DET o DEM para este tipo de datos.

Esta nota ha sido generada por una IA y se basa exclusivamente en los datos de especificación de AUTOSAR CP R20-11.

Guía del implementador pendiente (complejidad I1)

tipo IdsM_Filters_ReportingModeType [SWS_IdsM_91013] 📄 PDF

Reporting modes used by the reporting mode filter

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4e0ba45d0047 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El tipo de datos IdsM_Filters_ReportingModeType se basa en el tipo base uint8 y se proporciona a través del archivo de cabecera IdsM_Types.h para componentes de software [SWS_IdsM_91013]. Describe los modos de notificación estandarizados que se aplican dentro del filtro de modo de notificación en el Intrusion Detection System Manager (IdsM) para el procesamiento específico y reenvío de eventos de seguridad [SWS_IdsM_91013].

Mediante los valores de enumeración definidos se controla con precisión si se notifica un evento y qué nivel de detalle se aplica al respecto [SWS_IdsM_91013]:

  • IDSM_REPORTING_MODE_OFF (0x00): el evento se suprime y no se notifica a instancias de nivel superior [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_BRIEF (0x01): El evento se notifica en forma compacta sin datos de contexto adicionales [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_DETAILED (0x02): El evento se notifica detalladamente incluyendo todos los datos de contexto relevantes [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_BRIEF_BYPASSING_FILTERS (0x03): El evento elude las etapas de filtrado posteriores y se notifica sin filtrar y sin datos de contexto [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_DETAILED_BYPASSING_FILTERS (0x04): El evento elude las etapas de filtrado posteriores y se notifica sin filtrar, incluyendo todos los datos de contexto [SWS_IdsM_91013].
  • IDSM_REPORTING_MODE_INVALID (0xFF): Identifica un modo de notificación no válido dentro del rango de valores [SWS_IdsM_91013].

Por tanto, los valores combinan dos dimensiones de control funcional: el grado de detalle a través de los datos de contexto y la elusión selectiva de los mecanismos de filtrado regulares mediante el bypassing [SWS_IdsM_91013]. Esto permite al IdsM un tratamiento diferenciado de los incidentes de seguridad según su criticidad y configuración de filtrado [SWS_IdsM_91013].

Este texto ha sido generado por una IA a partir de la especificación R20-11.

Guía del implementador pendiente (complejidad I1)

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

Record
AUTOSAR/AP/record/CP_MOD_IdsM
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_IdsM@rel:R20-11#cac85f84
Content hash
cac85f84
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_IntrusionDetectionSystemManager.pdf#nameddest=SWS_IdsM_91001

Inicialización y estado

Returns version information, vendor ID and AUTOSAR module ID of the component.

void IdsM_GetVersionInfo (const Std_VersionInfoType* versionInfo);
IdsM_Init función

Service to initialize the module IdsM. It initializes all variables and sets the module state to initialized.

void IdsM_Init (const IdsM_ConfigType* configPtr);

Servicios

This callback function is invoked by the BswM to indicate ECU state changes.

void IdsM_BswM_StateChanged (IdsM_Filters_BlockStateType state);

This function is a request from DCM to the IdsM to read the routine results triggered by function IdsM_Dcm_GetReportingMode_Start().

Std_ReturnType IdsM_Dcm_GetReportingMode_RequestResults (Dcm_OpStatusType OpStatus, uint8* Out_ReportingMode, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to request the current reporting mode of a specific Security Event ID.

Std_ReturnType IdsM_Dcm_GetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This function is a request from DCM to the IdsM to start the routine execution to set the reporting mode of a specific Security Event ID.

Std_ReturnType IdsM_Dcm_SetReportingMode_Start (uint16 In_SecurityEventId, uint8 In_SensorInstanceId, uint8 In_ReportingMode, Dcm_OpStatusType OpStatus, Dcm_NegativeResponseCodeType* ErrorCode);

This API is the application interface to report security events to the IdsM.

void IdsM_SetSecurityEvent (IdsM_SecurityEventIdType securityEventId);

This API is the application interface to report security events with context data to the IdsM.

void IdsM_SetSecurityEventWithContextData (IdsM_SecurityEventIdType securityEventId, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a count value to the IdsM.

void IdsM_SetSecurityEventWithCount (IdsM_SecurityEventIdType securityEventId, uint16 count);

This API is the application interface for Smart Sensors to report security events with a count value and context data to the IdsM.

void IdsM_SetSecurityEventWithCountContextData (IdsM_SecurityEventIdType securityEventId, uint16 count, const uint8* contextData, uint16 contextDataSize);

This API is the application interface for Smart Sensors to report security events with a timestamp and a count value to the IdsM.

void IdsM_SetSecurityEventWithTimestampCount (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count);

This API is the application interface for Smart Sensors to report security events with a timestamp, a count value and context data to the IdsM.

void IdsM_SetSecurityEventWithTimestampCountContextData (IdsM_SecurityEventIdType securityEventId, IdsM_TimestampType timestamp, uint16 count, const uint8* contextData, uint16 contextDataSize);

Callbacks

This function is called to acquire the transmit data of an I-PDU segment (N-PDU). Each call to this function provides the next part of the I-PDU data unless retry->TpDataState is TP_ DATARETRY. In this case the function restarts to copy the data beginning at the offset from the current position indicated by retry->TxTpDataCnt. The size of the remaining data is written to the position indicated by availableDataPtr.

BufReq_ReturnType IdsM_CopyTxData (PduIdType id, const PduInfoType* info, const RetryInfoType* retry, PduLengthType* availableDataPtr);

This function is called after the I-PDU has been transmitted on its network, the result indicates whether the transmission was successful or not.

void IdsM_TpTxConfirmation (PduIdType id, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void IdsM_TxConfirmation (PduIdType TxPduId, Std_ReturnType result);

Cíclico

This function is called periodically. It processes security events asynchronously which are queued during API function calls.

void IdsM_MainFunction (void);

Tipos

Configuration data structure of IdsM module.

Data type used for "Block State" filter values (bit masks)

Reporting modes used by the reporting mode filter

Data type used for local IdsM Security Event IDs

Data type for IdsM timestamps