Terminate Embargo Behavior
The Terminate Embargo Behavior Tree is shown in the diagram below. It consists of two major behaviors depending on whether an embargo has been established or not.
---
title: Terminate Embargo Behavior Tree
---
flowchart LR
fb[?]
em_n_or_x(["EM N or X?"])
fb -->|A| em_n_or_x
p_seq["→"]
fb -->|B| p_seq
em_p(["EM P?"])
p_seq --> em_p
p_fb[?]
p_seq --> p_fb
p_cs_not_pxa(["CS not in ...pxa?"])
p_fb --> p_cs_not_pxa
other(["other reason?"])
p_fb --> other
p_em_to_n["EM P → N<br/>(emit ER)"]
p_seq --> p_em_to_n
ar_seq["→"]
fb -->|C| ar_seq
em_a_or_r(["EM A or R?"])
ar_seq --> em_a_or_r
ar_fb[?]
ar_seq --> ar_fb
ar_cs_not_pxa(["CS not in ...pxa?"])
ar_fb --> ar_cs_not_pxa
ar_timer_expired(["timer expired?"])
ar_fb --> ar_timer_expired
ar_other(["other reason?"])
ar_fb --> ar_other
ar_exit_embargo["exit embargo"]
ar_seq --> ar_exit_embargo
ar_em_to_x["EM → X<br/>(emit ET)"]
ar_seq --> ar_em_to_x
(A) If the EM state is None or eXited, (\(q^{em} \in \{N{,}X\}\)), the tree succeeds immediately.
(B) The next node handles the scenario where no embargo has been established. The behavior descends into a sequence that checks whether we are in \(Proposed\) (\(q^{em} \in P\)). If we are, we check to see if there is a reason to exit the embargo negotiation process. One such reason is that the case state is outside the embargo "habitable zone," but there may be others that we leave unspecified. If any reason is found, then the proposal is rejected, the state returns to None, and an \(ER\) message is sent.
(C) Should that branch fail, we still need to handle the situation where an embargo has already been established. Following a confirmation that we are in either Active or Revise, we again look for reasons to exit, this time adding the possibility of timer expiration to the conditions explicitly called out. Terminating an existing embargo might have some other teardown procedures to be completed, which we represent as the exit embargo task. Finally, the EM state is updated to eXited and an \(ET\) message is emitted.
The Terminate Embargo Behavior Tree appears in multiple locations in the larger tree. We will encounter it again as a possible response to evidence collected via threat monitoring as well as in response to certain CS or EM messages in states when an embargo is no longer viable.