1
0
Files
2026-05-18 14:05:37 +03:00

600 lines
37 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/"
xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/"
xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/"
xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/"
id="defs_air_threat_decisions" name="Air Threat Decisions"
namespace="http://uapf.dev/lv.civdef.drone-threat-public-address/dmn">
<inputData id="In_RadarCrossSection" name="Radar cross-section">
<variable id="v_radarCrossSection" name="radarCrossSection" typeRef="string" />
</inputData>
<inputData id="In_EmissionProfile" name="Emission profile">
<variable id="v_emissionProfile" name="emissionProfile" typeRef="string" />
</inputData>
<inputData id="In_VisualConfirmation" name="Visual confirmation">
<variable id="v_visualConfirmation" name="visualConfirmation" typeRef="string" />
</inputData>
<inputData id="In_AirspaceStatus" name="Airspace entry status">
<variable id="v_airspaceStatus" name="airspaceStatus" typeRef="string" />
</inputData>
<inputData id="In_TrajectoryTowardPop" name="Trajectory toward populated area">
<variable id="v_trajectoryTowardPopulated" name="trajectoryTowardPopulated" typeRef="boolean" />
</inputData>
<inputData id="In_DistanceToPopulatedKm" name="Distance to populated area (km)">
<variable id="v_distanceToPopulatedKm" name="distanceToPopulatedKm" typeRef="number" />
</inputData>
<inputData id="In_EstimatedMinutesToPop" name="Est. minutes to populated area">
<variable id="v_estimatedMinutesToPopulated" name="estimatedMinutesToPopulated" typeRef="number" />
</inputData>
<inputData id="In_CorridorMunicipalities" name="Predicted corridor municipalities">
<variable id="v_corridorMunicipalities" name="corridorMunicipalities" typeRef="string" />
</inputData>
<inputData id="In_BorderProximityTier" name="Border-proximity tier">
<variable id="v_borderProximityTier" name="borderProximityTier" typeRef="string" />
</inputData>
<inputData id="In_PositiveHostileId" name="Positive hostile identification">
<variable id="v_positiveHostileId" name="positiveHostileId" typeRef="boolean" />
</inputData>
<inputData id="In_OverPopulatedArea" name="Object over populated area">
<variable id="v_overPopulatedArea" name="overPopulatedArea" typeRef="boolean" />
</inputData>
<inputData id="In_DebrisZoneClear" name="Debris fall-zone clear">
<variable id="v_debrisZoneClear" name="debrisZoneClear" typeRef="boolean" />
</inputData>
<inputData id="In_GroundFiringReady" name="Ground firing position ready">
<variable id="v_groundFiringReady" name="groundFiringReady" typeRef="boolean" />
</inputData>
<inputData id="In_BapOnStation" name="NATO BAP on station">
<variable id="v_bapOnStation" name="bapOnStation" typeRef="boolean" />
</inputData>
<inputData id="In_ObjectNeutralized" name="Object neutralized / landed">
<variable id="v_objectNeutralized" name="objectNeutralized" typeRef="boolean" />
</inputData>
<inputData id="In_ActiveTracksRemain" name="Active tracks remain">
<variable id="v_activeTracksRemain" name="activeTracksRemain" typeRef="boolean" />
</inputData>
<decision id="Decision_ObjectClassification" name="Object classification &amp; confidence">
<description>Classifies the detected airborne object and assigns a confidence level by fusing radar cross-section, emission profile and visual confirmation. Determines whether the object is treated as a potential civil-defence threat at all.</description>
<variable id="v_objectClass" name="objectClass" typeRef="string" />
<informationRequirement id="ir_Decision_ObjectClassification_0"><requiredInput href="#In_RadarCrossSection" /></informationRequirement>
<informationRequirement id="ir_Decision_ObjectClassification_1"><requiredInput href="#In_EmissionProfile" /></informationRequirement>
<informationRequirement id="ir_Decision_ObjectClassification_2"><requiredInput href="#In_VisualConfirmation" /></informationRequirement>
<decisionTable id="dt_Decision_ObjectClassification" hitPolicy="FIRST">
<input id="Decision_ObjectClassification_i0" label="Radar cross-section">
<inputExpression id="Decision_ObjectClassification_ie0" typeRef="string"><text>radarCrossSection</text></inputExpression>
</input>
<input id="Decision_ObjectClassification_i1" label="Emission profile">
<inputExpression id="Decision_ObjectClassification_ie1" typeRef="string"><text>emissionProfile</text></inputExpression>
</input>
<input id="Decision_ObjectClassification_i2" label="Visual confirmation">
<inputExpression id="Decision_ObjectClassification_ie2" typeRef="string"><text>visualConfirmation</text></inputExpression>
</input>
<output id="Decision_ObjectClassification_o0" label="Object class" name="objectClass" typeRef="string" />
<output id="Decision_ObjectClassification_o1" label="Classification confidence" name="classificationConfidence" typeRef="string" />
<rule id="Decision_ObjectClassification_r0">
<description>Positive visual plus a military or EW emission signature: treat as a likely-hostile drone.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>"ew-jamming","military-radar"</text></inputEntry>
<inputEntry><text>"positive"</text></inputEntry>
<outputEntry><text>"drone-hostile-likely"</text></outputEntry>
<outputEntry><text>"high"</text></outputEntry>
</rule>
<rule id="Decision_ObjectClassification_r1">
<description>Small radar return carrying a comms or EW emission is characteristic of a controlled UAV.</description>
<inputEntry><text>"micro","small"</text></inputEntry>
<inputEntry><text>"comms","ew-jamming"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"drone"</text></outputEntry>
<outputEntry><text>"high"</text></outputEntry>
</rule>
<rule id="Decision_ObjectClassification_r2">
<description>Small, slow, emission-silent and visually unconfirmed: treat as a suspected drone pending confirmation.</description>
<inputEntry><text>"micro","small"</text></inputEntry>
<inputEntry><text>"none"</text></inputEntry>
<inputEntry><text>"none","partial"</text></inputEntry>
<outputEntry><text>"drone-suspected"</text></outputEntry>
<outputEntry><text>"medium"</text></outputEntry>
</rule>
<rule id="Decision_ObjectClassification_r3">
<description>Medium/large return with a military-radar emission is an identified military aircraft.</description>
<inputEntry><text>"medium","large"</text></inputEntry>
<inputEntry><text>"military-radar"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"military-aircraft"</text></outputEntry>
<outputEntry><text>"high"</text></outputEntry>
</rule>
<rule id="Decision_ObjectClassification_r4">
<description>Micro return with no emission and no visual is most likely a bird or radar clutter.</description>
<inputEntry><text>"micro"</text></inputEntry>
<inputEntry><text>"none"</text></inputEntry>
<inputEntry><text>"none"</text></inputEntry>
<outputEntry><text>"bird-or-clutter"</text></outputEntry>
<outputEntry><text>"low"</text></outputEntry>
</rule>
<rule id="Decision_ObjectClassification_r5">
<description>Fallback: object cannot be classified with available data.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"unknown"</text></outputEntry>
<outputEntry><text>"low"</text></outputEntry>
</rule>
</decisionTable>
</decision>
<decision id="Decision_AirThreatSeverity" name="Air-threat severity">
<description>Determines the civil-defence threat level from the classified object, its airspace behaviour and its proximity to people. This is the pivot decision the rest of the model depends on.</description>
<variable id="v_threatLevel" name="threatLevel" typeRef="string" />
<informationRequirement id="ir_Decision_AirThreatSeverity_0"><requiredDecision href="#Decision_ObjectClassification" /></informationRequirement>
<informationRequirement id="ir_Decision_AirThreatSeverity_1"><requiredInput href="#In_AirspaceStatus" /></informationRequirement>
<informationRequirement id="ir_Decision_AirThreatSeverity_2"><requiredInput href="#In_TrajectoryTowardPop" /></informationRequirement>
<informationRequirement id="ir_Decision_AirThreatSeverity_3"><requiredInput href="#In_DistanceToPopulatedKm" /></informationRequirement>
<decisionTable id="dt_Decision_AirThreatSeverity" hitPolicy="FIRST">
<input id="Decision_AirThreatSeverity_i0" label="Object class">
<inputExpression id="Decision_AirThreatSeverity_ie0" typeRef="string"><text>objectClass</text></inputExpression>
</input>
<input id="Decision_AirThreatSeverity_i1" label="Airspace status">
<inputExpression id="Decision_AirThreatSeverity_ie1" typeRef="string"><text>airspaceStatus</text></inputExpression>
</input>
<input id="Decision_AirThreatSeverity_i2" label="Toward populated area">
<inputExpression id="Decision_AirThreatSeverity_ie2" typeRef="boolean"><text>trajectoryTowardPopulated</text></inputExpression>
</input>
<input id="Decision_AirThreatSeverity_i3" label="Distance to populated (km)">
<inputExpression id="Decision_AirThreatSeverity_ie3" typeRef="number"><text>distanceToPopulatedKm</text></inputExpression>
</input>
<output id="Decision_AirThreatSeverity_o0" label="Threat level" name="threatLevel" typeRef="string" />
<rule id="Decision_AirThreatSeverity_r0">
<description>Drone confirmed inside national airspace, closing on people within 10 km: critical.</description>
<inputEntry><text>"drone","drone-hostile-likely"</text></inputEntry>
<inputEntry><text>"inside"</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>&lt;= 10</text></inputEntry>
<outputEntry><text>"critical"</text></outputEntry>
</rule>
<rule id="Decision_AirThreatSeverity_r1">
<description>Drone inside or having crossed the border, on a trajectory toward people within 25 km: high.</description>
<inputEntry><text>"drone","drone-hostile-likely"</text></inputEntry>
<inputEntry><text>"crossed","inside"</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>&lt;= 25</text></inputEntry>
<outputEntry><text>"high"</text></outputEntry>
</rule>
<rule id="Decision_AirThreatSeverity_r2">
<description>Drone present in airspace but not tracking toward a populated area: elevated.</description>
<inputEntry><text>"drone","drone-suspected","drone-hostile-likely"</text></inputEntry>
<inputEntry><text>"crossed","inside"</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"elevated"</text></outputEntry>
</rule>
<rule id="Decision_AirThreatSeverity_r3">
<description>Drone still approaching the border: low — monitor, no public alert yet.</description>
<inputEntry><text>"drone","drone-suspected"</text></inputEntry>
<inputEntry><text>"approaching"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"low"</text></outputEntry>
</rule>
<rule id="Decision_AirThreatSeverity_r4">
<description>Identified military aircraft is handled through air-policing channels, not civil-defence broadcast.</description>
<inputEntry><text>"military-aircraft"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"low"</text></outputEntry>
</rule>
<rule id="Decision_AirThreatSeverity_r5">
<description>Fallback: no civil-defence air threat.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"none"</text></outputEntry>
</rule>
</decisionTable>
</decision>
<decision id="Decision_NotificationUrgency" name="Notification urgency &amp; SLA">
<description>Sets how fast a public cell-broadcast must be dispatched. The broadcastSlaSeconds output is the contractual deadline whose 40-minute breach in the 7 May 2026 Rezekne incident this whole package exists to prevent.</description>
<variable id="v_notificationTier" name="notificationTier" typeRef="string" />
<informationRequirement id="ir_Decision_NotificationUrgency_0"><requiredDecision href="#Decision_AirThreatSeverity" /></informationRequirement>
<informationRequirement id="ir_Decision_NotificationUrgency_1"><requiredInput href="#In_EstimatedMinutesToPop" /></informationRequirement>
<decisionTable id="dt_Decision_NotificationUrgency" hitPolicy="FIRST">
<input id="Decision_NotificationUrgency_i0" label="Threat level">
<inputExpression id="Decision_NotificationUrgency_ie0" typeRef="string"><text>threatLevel</text></inputExpression>
</input>
<input id="Decision_NotificationUrgency_i1" label="Est. minutes to populated area">
<inputExpression id="Decision_NotificationUrgency_ie1" typeRef="number"><text>estimatedMinutesToPopulated</text></inputExpression>
</input>
<output id="Decision_NotificationUrgency_o0" label="Notification tier" name="notificationTier" typeRef="string" />
<output id="Decision_NotificationUrgency_o1" label="Broadcast SLA (seconds)" name="broadcastSlaSeconds" typeRef="number" />
<rule id="Decision_NotificationUrgency_r0">
<description>Critical threat: public broadcast must leave within 2 minutes.</description>
<inputEntry><text>"critical"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"immediate"</text></outputEntry>
<outputEntry><text>120</text></outputEntry>
</rule>
<rule id="Decision_NotificationUrgency_r1">
<description>High threat with people reachable within 15 minutes: broadcast within 3 minutes.</description>
<inputEntry><text>"high"</text></inputEntry>
<inputEntry><text>&lt;= 15</text></inputEntry>
<outputEntry><text>"immediate"</text></outputEntry>
<outputEntry><text>180</text></outputEntry>
</rule>
<rule id="Decision_NotificationUrgency_r2">
<description>High threat with more lead time: broadcast within 5 minutes.</description>
<inputEntry><text>"high"</text></inputEntry>
<inputEntry><text>&gt; 15</text></inputEntry>
<outputEntry><text>"priority"</text></outputEntry>
<outputEntry><text>300</text></outputEntry>
</rule>
<rule id="Decision_NotificationUrgency_r3">
<description>Elevated threat: broadcast within 10 minutes.</description>
<inputEntry><text>"elevated"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"priority"</text></outputEntry>
<outputEntry><text>600</text></outputEntry>
</rule>
<rule id="Decision_NotificationUrgency_r4">
<description>Low threat: standard 30-minute advisory window.</description>
<inputEntry><text>"low"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"standard"</text></outputEntry>
<outputEntry><text>1800</text></outputEntry>
</rule>
<rule id="Decision_NotificationUrgency_r5">
<description>No threat: no public broadcast.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"none"</text></outputEntry>
<outputEntry><text>0</text></outputEntry>
</rule>
</decisionTable>
</decision>
<decision id="Decision_CellBroadcastScope" name="Cell-broadcast scope &amp; message">
<description>Selects which municipalities receive the public alert, which message template is used, and the repeat interval. The alert footprint is built explicitly from the predicted corridor so it matches the threat's path rather than a fixed region.</description>
<variable id="v_alertMunicipalities" name="alertMunicipalities" typeRef="string" />
<informationRequirement id="ir_Decision_CellBroadcastScope_0"><requiredDecision href="#Decision_AirThreatSeverity" /></informationRequirement>
<informationRequirement id="ir_Decision_CellBroadcastScope_1"><requiredInput href="#In_CorridorMunicipalities" /></informationRequirement>
<informationRequirement id="ir_Decision_CellBroadcastScope_2"><requiredInput href="#In_BorderProximityTier" /></informationRequirement>
<decisionTable id="dt_Decision_CellBroadcastScope" hitPolicy="FIRST">
<input id="Decision_CellBroadcastScope_i0" label="Threat level">
<inputExpression id="Decision_CellBroadcastScope_ie0" typeRef="string"><text>threatLevel</text></inputExpression>
</input>
<input id="Decision_CellBroadcastScope_i1" label="Border-proximity tier">
<inputExpression id="Decision_CellBroadcastScope_ie1" typeRef="string"><text>borderProximityTier</text></inputExpression>
</input>
<output id="Decision_CellBroadcastScope_o0" label="Alert municipalities" name="alertMunicipalities" typeRef="string" />
<output id="Decision_CellBroadcastScope_o1" label="Message template" name="messageTemplate" typeRef="string" />
<output id="Decision_CellBroadcastScope_o2" label="Repeat interval (seconds)" name="repeatIntervalSeconds" typeRef="number" />
<rule id="Decision_CellBroadcastScope_r0">
<description>Critical: alert the predicted corridor plus every tier-1 border municipality; repeat every 2 min.</description>
<inputEntry><text>"critical"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>corridorMunicipalities + ",ALL_TIER1_BORDER"</text></outputEntry>
<outputEntry><text>"MSG_DRONE_IMMINENT"</text></outputEntry>
<outputEntry><text>120</text></outputEntry>
</rule>
<rule id="Decision_CellBroadcastScope_r1">
<description>High: alert the predicted corridor; repeat every 3 min.</description>
<inputEntry><text>"high"</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>corridorMunicipalities</text></outputEntry>
<outputEntry><text>"MSG_DRONE_IMMINENT"</text></outputEntry>
<outputEntry><text>180</text></outputEntry>
</rule>
<rule id="Decision_CellBroadcastScope_r2">
<description>Elevated near the border (tier 1-2): possible-drone advisory to the corridor.</description>
<inputEntry><text>"elevated"</text></inputEntry>
<inputEntry><text>"tier1","tier2"</text></inputEntry>
<outputEntry><text>corridorMunicipalities</text></outputEntry>
<outputEntry><text>"MSG_DRONE_POSSIBLE"</text></outputEntry>
<outputEntry><text>300</text></outputEntry>
</rule>
<rule id="Decision_CellBroadcastScope_r3">
<description>Elevated further inland (tier 3): lighter monitoring advisory to the corridor.</description>
<inputEntry><text>"elevated"</text></inputEntry>
<inputEntry><text>"tier3"</text></inputEntry>
<outputEntry><text>corridorMunicipalities</text></outputEntry>
<outputEntry><text>"MSG_AIRSPACE_MONITORING"</text></outputEntry>
<outputEntry><text>600</text></outputEntry>
</rule>
<rule id="Decision_CellBroadcastScope_r4">
<description>Low or no threat: no public broadcast; municipal commissions informed through other channels.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"none"</text></outputEntry>
<outputEntry><text>"MSG_NONE"</text></outputEntry>
<outputEntry><text>0</text></outputEntry>
</rule>
</decisionTable>
</decision>
<decision id="Decision_InterceptionAuthorization" name="Interception authorization">
<description>Authorises or withholds kinetic interception. Engagement is gated first on positive hostile identification and then on civilian and debris safety: absence of a positive hostile ID always yields hold, regardless of threat level.</description>
<variable id="v_interceptionDecision" name="interceptionDecision" typeRef="string" />
<informationRequirement id="ir_Decision_InterceptionAuthorization_0"><requiredDecision href="#Decision_AirThreatSeverity" /></informationRequirement>
<informationRequirement id="ir_Decision_InterceptionAuthorization_1"><requiredInput href="#In_PositiveHostileId" /></informationRequirement>
<informationRequirement id="ir_Decision_InterceptionAuthorization_2"><requiredInput href="#In_OverPopulatedArea" /></informationRequirement>
<informationRequirement id="ir_Decision_InterceptionAuthorization_3"><requiredInput href="#In_DebrisZoneClear" /></informationRequirement>
<informationRequirement id="ir_Decision_InterceptionAuthorization_4"><requiredInput href="#In_GroundFiringReady" /></informationRequirement>
<informationRequirement id="ir_Decision_InterceptionAuthorization_5"><requiredInput href="#In_BapOnStation" /></informationRequirement>
<decisionTable id="dt_Decision_InterceptionAuthorization" hitPolicy="FIRST">
<input id="Decision_InterceptionAuthorization_i0" label="Threat level">
<inputExpression id="Decision_InterceptionAuthorization_ie0" typeRef="string"><text>threatLevel</text></inputExpression>
</input>
<input id="Decision_InterceptionAuthorization_i1" label="Positive hostile ID">
<inputExpression id="Decision_InterceptionAuthorization_ie1" typeRef="boolean"><text>positiveHostileId</text></inputExpression>
</input>
<input id="Decision_InterceptionAuthorization_i2" label="Over populated area">
<inputExpression id="Decision_InterceptionAuthorization_ie2" typeRef="boolean"><text>overPopulatedArea</text></inputExpression>
</input>
<input id="Decision_InterceptionAuthorization_i3" label="Debris zone clear">
<inputExpression id="Decision_InterceptionAuthorization_ie3" typeRef="boolean"><text>debrisZoneClear</text></inputExpression>
</input>
<input id="Decision_InterceptionAuthorization_i4" label="Ground firing ready">
<inputExpression id="Decision_InterceptionAuthorization_ie4" typeRef="boolean"><text>groundFiringReady</text></inputExpression>
</input>
<input id="Decision_InterceptionAuthorization_i5" label="BAP on station">
<inputExpression id="Decision_InterceptionAuthorization_ie5" typeRef="boolean"><text>bapOnStation</text></inputExpression>
</input>
<output id="Decision_InterceptionAuthorization_o0" label="Interception decision" name="interceptionDecision" typeRef="string" />
<output id="Decision_InterceptionAuthorization_o1" label="Rationale code" name="rationaleCode" typeRef="string" />
<rule id="Decision_InterceptionAuthorization_r0">
<description>No positive hostile identification: engagement is never authorised.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"hold"</text></outputEntry>
<outputEntry><text>"R_NO_HOSTILE_ID"</text></outputEntry>
</rule>
<rule id="Decision_InterceptionAuthorization_r1">
<description>Object over a populated area: kinetic engagement withheld to avoid civilian casualties.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"hold"</text></outputEntry>
<outputEntry><text>"R_CIVILIAN_RISK"</text></outputEntry>
</rule>
<rule id="Decision_InterceptionAuthorization_r2">
<description>Debris fall-zone not confirmed clear: engagement withheld.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"hold"</text></outputEntry>
<outputEntry><text>"R_DEBRIS_RISK"</text></outputEntry>
</rule>
<rule id="Decision_InterceptionAuthorization_r3">
<description>High/critical threat, hostile-confirmed, safe, ground firing position ready: engage from the ground.</description>
<inputEntry><text>"high","critical"</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"engage-ground"</text></outputEntry>
<outputEntry><text>"R_GROUND_PGA"</text></outputEntry>
</rule>
<rule id="Decision_InterceptionAuthorization_r4">
<description>High/critical threat, hostile-confirmed, safe, no ground option but BAP on station: hand to NATO BAP.</description>
<inputEntry><text>"high","critical"</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<outputEntry><text>"engage-bap"</text></outputEntry>
<outputEntry><text>"R_BAP_AIR"</text></outputEntry>
</rule>
<rule id="Decision_InterceptionAuthorization_r5">
<description>Fallback: interception criteria not met.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"hold"</text></outputEntry>
<outputEntry><text>"R_CRITERIA_NOT_MET"</text></outputEntry>
</rule>
</decisionTable>
</decision>
<decision id="Decision_StandDownCriteria" name="Stand-down &amp; all-clear">
<description>Determines when the public alert can be lifted and an all-clear cell-broadcast issued. Requires the object to be resolved and no further tracks in the area.</description>
<variable id="v_standDownDecision" name="standDownDecision" typeRef="string" />
<informationRequirement id="ir_Decision_StandDownCriteria_0"><requiredInput href="#In_ObjectNeutralized" /></informationRequirement>
<informationRequirement id="ir_Decision_StandDownCriteria_1"><requiredInput href="#In_ActiveTracksRemain" /></informationRequirement>
<decisionTable id="dt_Decision_StandDownCriteria" hitPolicy="FIRST">
<input id="Decision_StandDownCriteria_i0" label="Object neutralized / landed">
<inputExpression id="Decision_StandDownCriteria_ie0" typeRef="boolean"><text>objectNeutralized</text></inputExpression>
</input>
<input id="Decision_StandDownCriteria_i1" label="Active tracks remain">
<inputExpression id="Decision_StandDownCriteria_ie1" typeRef="boolean"><text>activeTracksRemain</text></inputExpression>
</input>
<output id="Decision_StandDownCriteria_o0" label="Stand-down decision" name="standDownDecision" typeRef="string" />
<output id="Decision_StandDownCriteria_o1" label="All-clear message" name="allClearMessage" typeRef="string" />
<rule id="Decision_StandDownCriteria_r0">
<description>Object resolved and no further tracks: issue the all-clear.</description>
<inputEntry><text>true</text></inputEntry>
<inputEntry><text>false</text></inputEntry>
<outputEntry><text>"all-clear"</text></outputEntry>
<outputEntry><text>"MSG_ALL_CLEAR"</text></outputEntry>
</rule>
<rule id="Decision_StandDownCriteria_r1">
<description>Tracks still active in the area: maintain the public alert.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>true</text></inputEntry>
<outputEntry><text>"maintain-alert"</text></outputEntry>
<outputEntry><text>"MSG_NONE"</text></outputEntry>
</rule>
<rule id="Decision_StandDownCriteria_r2">
<description>Object not yet resolved: maintain the public alert.</description>
<inputEntry><text>-</text></inputEntry>
<inputEntry><text>-</text></inputEntry>
<outputEntry><text>"maintain-alert"</text></outputEntry>
<outputEntry><text>"MSG_NONE"</text></outputEntry>
</rule>
</decisionTable>
</decision>
<dmndi:DMNDI>
<dmndi:DMNDiagram id="drd_air_threat">
<dmndi:DMNShape id="s_Decision_ObjectClassification" dmnElementRef="Decision_ObjectClassification">
<dc:Bounds x="120" y="250" width="200" height="90" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_Decision_AirThreatSeverity" dmnElementRef="Decision_AirThreatSeverity">
<dc:Bounds x="470" y="250" width="200" height="90" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_Decision_NotificationUrgency" dmnElementRef="Decision_NotificationUrgency">
<dc:Bounds x="820" y="120" width="200" height="90" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_Decision_CellBroadcastScope" dmnElementRef="Decision_CellBroadcastScope">
<dc:Bounds x="1170" y="120" width="200" height="90" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_Decision_InterceptionAuthorization" dmnElementRef="Decision_InterceptionAuthorization">
<dc:Bounds x="820" y="440" width="200" height="90" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_Decision_StandDownCriteria" dmnElementRef="Decision_StandDownCriteria">
<dc:Bounds x="1170" y="440" width="200" height="90" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_RadarCrossSection" dmnElementRef="In_RadarCrossSection">
<dc:Bounds x="40" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_EmissionProfile" dmnElementRef="In_EmissionProfile">
<dc:Bounds x="210" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_VisualConfirmation" dmnElementRef="In_VisualConfirmation">
<dc:Bounds x="380" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_AirspaceStatus" dmnElementRef="In_AirspaceStatus">
<dc:Bounds x="550" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_TrajectoryTowardPop" dmnElementRef="In_TrajectoryTowardPop">
<dc:Bounds x="720" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_DistanceToPopulatedKm" dmnElementRef="In_DistanceToPopulatedKm">
<dc:Bounds x="890" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_EstimatedMinutesToPop" dmnElementRef="In_EstimatedMinutesToPop">
<dc:Bounds x="1060" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_CorridorMunicipalities" dmnElementRef="In_CorridorMunicipalities">
<dc:Bounds x="1230" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_BorderProximityTier" dmnElementRef="In_BorderProximityTier">
<dc:Bounds x="1400" y="40" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_PositiveHostileId" dmnElementRef="In_PositiveHostileId">
<dc:Bounds x="40" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_OverPopulatedArea" dmnElementRef="In_OverPopulatedArea">
<dc:Bounds x="210" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_DebrisZoneClear" dmnElementRef="In_DebrisZoneClear">
<dc:Bounds x="380" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_GroundFiringReady" dmnElementRef="In_GroundFiringReady">
<dc:Bounds x="550" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_BapOnStation" dmnElementRef="In_BapOnStation">
<dc:Bounds x="720" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_ObjectNeutralized" dmnElementRef="In_ObjectNeutralized">
<dc:Bounds x="1060" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNShape id="s_In_ActiveTracksRemain" dmnElementRef="In_ActiveTracksRemain">
<dc:Bounds x="1230" y="620" width="150" height="55" />
</dmndi:DMNShape>
<dmndi:DMNEdge id="e_ir_Decision_ObjectClassification_0" dmnElementRef="ir_Decision_ObjectClassification_0">
<di:waypoint x="115" y="67" />
<di:waypoint x="220" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_ObjectClassification_1" dmnElementRef="ir_Decision_ObjectClassification_1">
<di:waypoint x="285" y="67" />
<di:waypoint x="220" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_ObjectClassification_2" dmnElementRef="ir_Decision_ObjectClassification_2">
<di:waypoint x="455" y="67" />
<di:waypoint x="220" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_AirThreatSeverity_0" dmnElementRef="ir_Decision_AirThreatSeverity_0">
<di:waypoint x="220" y="295" />
<di:waypoint x="570" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_AirThreatSeverity_1" dmnElementRef="ir_Decision_AirThreatSeverity_1">
<di:waypoint x="625" y="67" />
<di:waypoint x="570" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_AirThreatSeverity_2" dmnElementRef="ir_Decision_AirThreatSeverity_2">
<di:waypoint x="795" y="67" />
<di:waypoint x="570" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_AirThreatSeverity_3" dmnElementRef="ir_Decision_AirThreatSeverity_3">
<di:waypoint x="965" y="67" />
<di:waypoint x="570" y="295" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_NotificationUrgency_0" dmnElementRef="ir_Decision_NotificationUrgency_0">
<di:waypoint x="570" y="295" />
<di:waypoint x="920" y="165" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_NotificationUrgency_1" dmnElementRef="ir_Decision_NotificationUrgency_1">
<di:waypoint x="1135" y="67" />
<di:waypoint x="920" y="165" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_CellBroadcastScope_0" dmnElementRef="ir_Decision_CellBroadcastScope_0">
<di:waypoint x="570" y="295" />
<di:waypoint x="1270" y="165" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_CellBroadcastScope_1" dmnElementRef="ir_Decision_CellBroadcastScope_1">
<di:waypoint x="1305" y="67" />
<di:waypoint x="1270" y="165" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_CellBroadcastScope_2" dmnElementRef="ir_Decision_CellBroadcastScope_2">
<di:waypoint x="1475" y="67" />
<di:waypoint x="1270" y="165" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_InterceptionAuthorization_0" dmnElementRef="ir_Decision_InterceptionAuthorization_0">
<di:waypoint x="570" y="295" />
<di:waypoint x="920" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_InterceptionAuthorization_1" dmnElementRef="ir_Decision_InterceptionAuthorization_1">
<di:waypoint x="115" y="647" />
<di:waypoint x="920" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_InterceptionAuthorization_2" dmnElementRef="ir_Decision_InterceptionAuthorization_2">
<di:waypoint x="285" y="647" />
<di:waypoint x="920" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_InterceptionAuthorization_3" dmnElementRef="ir_Decision_InterceptionAuthorization_3">
<di:waypoint x="455" y="647" />
<di:waypoint x="920" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_InterceptionAuthorization_4" dmnElementRef="ir_Decision_InterceptionAuthorization_4">
<di:waypoint x="625" y="647" />
<di:waypoint x="920" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_InterceptionAuthorization_5" dmnElementRef="ir_Decision_InterceptionAuthorization_5">
<di:waypoint x="795" y="647" />
<di:waypoint x="920" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_StandDownCriteria_0" dmnElementRef="ir_Decision_StandDownCriteria_0">
<di:waypoint x="1135" y="647" />
<di:waypoint x="1270" y="485" />
</dmndi:DMNEdge>
<dmndi:DMNEdge id="e_ir_Decision_StandDownCriteria_1" dmnElementRef="ir_Decision_StandDownCriteria_1">
<di:waypoint x="1305" y="647" />
<di:waypoint x="1270" y="485" />
</dmndi:DMNEdge>
</dmndi:DMNDiagram>
</dmndi:DMNDI>
</definitions>