2.2 KiB
Runtime event mixing architecture
The runtime mixing engine is source-neutral. Source-specific behavior is contributed through four extension points:
RuntimeEventSemanticsclassifies an event and supplies semantic lifecycle normalization.RuntimeEventMixingRuleProvidersupplies source/domain-specific rules.RuntimeEventCompatibilityPolicyvalidates candidate pairs after broad grouping.RuntimeEventFusionPolicyenriches or transforms the retained primary event.
Generic classifications
RuntimeEventSourceProfile stores opaque classifications rather than domain-specific enums. The built-in keys are:
sourceFamilysourceRolerepresentationextractionCode
The common engine does not interpret their values. A tachograph adapter currently publishes values such as TACHOGRAPH, DRIVER_CARD, VEHICLE_UNIT, DATABASE, and FILE_SESSION. Another source family can publish different values without changing RuntimeEventMixingRule or RuntimeEventMixingService.
Generic rule structure
A rule consists of:
- channel and event-domain/type/lifecycle filters;
- an equivalence-key type;
- a primary
RuntimeEventSelector; - a secondary
RuntimeEventSelector; - optional
RuntimeEventPairConstraintvalues, such as equalsourceRole; - a compatibility-policy id;
- a fusion-policy id;
- output roles and audit text.
Source-specific values belong only in a source-specific RuntimeEventMixingRuleProvider.
Tachograph plugin
The tachograph implementation is isolated in:
RuntimeTachographEventSemanticsRuntimeTachographEventMixingRuleProviderRuntimeTachographEvidenceCompatibilityPolicyRuntimeTachographActivityCompatibilityPolicyRuntimeTachographVehicleIdentityFusionPolicy
The generic classes do not import tachograph source-role or representation types.
Diagnostics
Diagnostics are now emitted as generic maps:
sourceFamilyCountssourceRoleCountsrepresentationCounts
This replaces tachograph-specific scalar counters in the event-mixing module metadata.
Modes
OFFdisables all providers.FULLenables all providers that support the mode.- The tachograph provider continues to accept the legacy
TACHOGRAPH_SAME_SOURCEvalue.