Fix Development Behavior
Requirements
The behavioral requirements for this tree are specified in the Protocol Specifications:
- CSB-09 — Enter CS V (Vendor Aware)
- CSB-10 — Enter CS F (Fix Ready)
- CSB-15 — Trigger-Side VFD Role Preconditions
Implementation approach
The behavior tree diagram below illustrates one conformant implementation of these requirements. Implementations are not required to use behavior trees — any approach that satisfies the requirements above is conformant.
Notional external process
The process on this page is notional: it happens outside Vultron. Vultron records its outcome as a state change and does not automate the work itself.
Legacy design diagram
The diagram on this page reflects the simulator-era design from vultron/bt/ and may not
match the current implementation in vultron/core/behaviors/.
See the Behaviors Reference for
auto-generated documentation from the current implementation.
The Fix Development Behavior Tree is shown below.
---
title: Fix Development Behavior Tree
---
flowchart LR
fb["?"]
role_not_vendor(["role is not vendor?"])
fb -->|A| role_not_vendor
cs_in_VF(["CS in VF...?"])
fb -->|B| cs_in_VF
seq["→"]
fb -->|C| seq
rm_in_a(["RM in A?"])
seq --> rm_in_a
create_fix["create fix"]
seq --> create_fix
fix_ready(["fix ready?"])
seq --> fix_ready
cs_to_VF["CS → VFd...<br/>(emit CF)"]
seq --> cs_to_VF
(A) Fix development is relegated to the Vendor role, so Non-Vendors return Success since they have nothing further to do.
(B) For Vendors, if a fix is ready (i.e., the case is in \(q^{cs} \in VF\cdot\cdot\cdot\cdot\)), the tree returns Success.
(C) Otherwise, engaged Vendors (\(q^{rm} \in A\)) can
- create fixes
- set \(q^{cs} \in Vfd\cdot\cdot\cdot \xrightarrow{\mathbf{F}} VFd\cdot\cdot\cdot\)
- emit \(CF\) upon completion