Diese Seite wurde vollständig KI-generiert auf Basis von SWS IntrusionDetectionSystemManager (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
Serves as an interface for providing and modifying application-specific context data for IdsM.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f62ecfb74d6dProvenanceOpen questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Serves as an interface for providing and modifying application-specific context data for IdsM.
The abstract class ara::idsm::ContextDataProvider serves for the application-specific provision and modification of context data for the Intrusion Detection System Manager [SWS_AIDSM_10500]. Applications derive from the class, implement the callback ModifyContextData, and control release for IdsM via the methods Offer and StopOffer[SWS_AIDSM_10507]. The instance is not copyable, and since central methods are not thread-safe, concurrent access is likely to require external synchronization (interpretation). Question (open)
Context
The class ara::idsm::ContextDataProvider serves for providing and modifying context data for the Intrusion Detection System Manager (IdsM) subsystem [SWS_AIDSM_10500]. Within the security architecture, the class acts as an interface between a security-relevant application and the IdsM service. Since the member function ModifyContextData is specified as pure virtual [SWS_AIDSM_10509], ContextDataProvider represents an abstract base class. An application derives its own implementation in order to supplement specific context data in the event of security-relevant events. Binding to the architecture configuration is performed via an ara::core::InstanceSpecifier for the modeled provider port [SWS_AIDSM_10501].
Lifecycle
Creation of an instance is performed explicitly via the constructor by specifying the port identifier (ara::core::InstanceSpecifier) as well as the buffer parameters additionalBytes and originalContextDataOffset[SWS_AIDSM_10501]. This constructor is declared as thread-safe [SWS_AIDSM_10501]. In order to guarantee clear ownership for the interface endpoint, both the copy constructor [SWS_AIDSM_10504] and the copy assignment operator [SWS_AIDSM_10506] are deleted. Passing the instance is possible via move semantics: the move constructor is thread-safe [SWS_AIDSM_10503], whereas the assignment operator operator= with rvalue reference is defined as not thread-safe [SWS_AIDSM_10505].
After creation, the instance is in an inactive state. Only by explicitly calling Offer() is registration activated and IdsM authorized to call ModifyContextData[SWS_AIDSM_10507]. This authorization can be revoked at any time via StopOffer()[SWS_AIDSM_10508]. Prior to destroying the object via the virtual destructor [SWS_AIDSM_10502], according to common practice StopOffer() is likely required to be called to terminate ongoing callbacks by IdsM in a timely manner (interpretation). Question Q-ee65caee57919f00 (open) The virtual destructor is specified as not thread-safe [SWS_AIDSM_10502].
Usage Path
A typical use case begins with the definition of an application-specific class that inherits from ContextDataProvider and implements the method ModifyContextData[SWS_AIDSM_10509]. After instantiation, the application calls Offer() to provide the context data for IdsM [SWS_AIDSM_10507]. As soon as IdsM registers a security event for which context data is to be supplemented, the subsystem calls the callback ModifyContextData[SWS_AIDSM_10509]. The method receives the data area as ara::core::Span<std::uint8_t> and the identifier EventIdType, updates the buffer content, and returns the actual byte count as ara::core::Result<std::size_t>[SWS_AIDSM_10509]. If data provision is to be terminated, the application calls StopOffer()[SWS_AIDSM_10508].
Sequence diagram: Interaction sequence between application, ContextDataProvider, and IdsM from activation via Offer through the callback to deactivation via StopOffer. Sources: [SWS_AIDSM_10507], [SWS_AIDSM_10508], [SWS_AIDSM_10509]
Error Scenarios
All methods of the interface are declared with noexcept; errors are returned via the type ara::core::Result. Calling Offer() returns a ara::core::Result<void>[SWS_AIDSM_10507], which must be checked by the application in order to intercept possible errors during service provision. If the provider cannot write the requested context data to ModifyContextData, the implementation is likely to report a system-specific error in the ara::core::Result<std::size_t> (interpretation) [SWS_AIDSM_10509]. Question Q-585e19770d59309e (open)
Von IdsM aufgerufene abstrakte Funktion zum Ändern der Kontextdaten.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7746f9098d23ProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Usage and Semantics
The pure virtual function ModifyContextData from header ara/idsm/context_data_provider.h is called by the Intrusion Detection System Manager (IdsM) to provide or modify context data for a security event [SWS_AIDSM_10509]. The function takes a writable memory area contextData of type ara::core::Span<std::uint8_t> as well as the event identifier event of type EventIdType. An ara::core::Result<std::size_t> serves as the synchronous return value. The contained numeric value likely represents the number of bytes actually written to the buffer. Question Q-cec3aee149140a4b (open)
Interaction and Lifecycle
The call by the IdsM is subject to the lifecycle control of the context data provider:
Enabling: Calls to ModifyContextData by the IdsM are only enabled by a prior call to Offer[SWS_AIDSM_10507].
Termination: IdsM calls to ModifyContextData are suppressed again by means of StopOffer[SWS_AIDSM_10508].
Error Handling and Concurrency
The function is declared with noexcept and must not throw exceptions [SWS_AIDSM_10509]. If an error occurs during data modification, it must be reported back via the error object of ara::core::Result. Since the interface is classified as not thread-safe[SWS_AIDSM_10509], the concrete implementation must ensure appropriate synchronization in the event of concurrent access to buffers or internal states.
This usage note was generated automatically based on specification R25-11.
Implementer's Guide to follow (complexity I1)
Request a governed re-review of this record. The record is not changed immediately.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 75af0d519faaProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The parameterless method Offer() is provided via the header ara/idsm/context_data_provider.h and returns a ara::core::Result<void>[SWS_AIDSM_10507]. The declaration with noexcept eliminates exceptions on the caller side [SWS_AIDSM_10507]. Upon successful call, the provider registers with the Intrusion Detection System Manager (IdsM), which enables subsequent IdsM calls to the interface ModifyContextData in the first place [SWS_AIDSM_10507].
Concurrency and Limitations
Regarding threading, the function is explicitly specified as not thread-safe[SWS_AIDSM_10507]. Callers must therefore ensure that execution is serialized and that no concurrent accesses take place. Interpretation: The call is typically expected to occur during the system's initialization phase before the IdsM accesses context data. Question Q-fe72f4c02eb0e5ba (open)
Interaction
The provision follows the standardized offer pattern in module aidsm. Similar interfaces activate further IdsM functions:
Offer() in ara/idsm/timestamp_provider.h enables IdsM calls of GetTimestamp[SWS_AIDSM_10408].
Offer() in ara/idsm/qualified_events_receiver.h allows the IdsM to forward via OnEventQualification[SWS_AIDSM_10808].
This text was generated by an AI system and is based on the specification of AUTOSAR Adaptive R25-11.
Request a governed re-review of this record. The record is not changed immediately.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ca8d922661ceProvenanceOpen questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
use
The function StopOffer from header ara/idsm/context_data_provider.h has the signature void StopOffer() noexcept;[SWS_AIDSM_10508]. It takes no parameters, returns no value, and throws no exceptions according to noexcept. Its primary purpose is to prevent future calls to ModifyContextData by the IdsM [SWS_AIDSM_10508].
Concurrency and Limitations
According to the specification, StopOffer is classified as not thread-safe[SWS_AIDSM_10508]. The call must therefore not occur concurrently with other operations on the same instance; callers must synchronize access externally. Since no return values or specific error-handling mechanisms are specified, withdrawing the offer is expected to be synchronous and take effect immediately. Question Q-6c3920758ace96be (open)
Interaction
Within module aidsm, the pattern of StopOffer exists in analogous provider and receiver interfaces. Thus, StopOffer in header ara/idsm/timestamp_provider.h prevents future IdsM calls of GetTimestamp[SWS_AIDSM_10409], while the method of the same name in header ara/idsm/qualified_events_receiver.h stops calls of OnEventQualification[SWS_AIDSM_10809]. Both related functions have the same signature and are likewise not thread-safe.
This text was created by an AI based on AUTOSAR Adaptive R25-11.
Request a governed re-review of this record. The record is not changed immediately.
gemini-3.8-flash-low· 2026-10-13 · German original