Reliability, evaluation and recovery
Control theory for guardrails
Runtime guardrails stabilise an AI system only when they close a measured feedback loop with bounded delay, sufficient corrective authority and a verified safe fallback.
TLDR
- A policy predicate can block one action yet leave the surrounding system unstable.
- A control-grade guardrail needs a state estimate, an actuator, readback and a declared safe set.
- Delay, noise and drift consume the same finite margin between detection and irreversible harm.
- Stability and safety are different promises: return towards an operating point, and never cross a boundary.
- High-consequence autonomy should be released only inside a tested gain, latency, uncertainty and authority envelope.
The guardrail that created a pulse
A refund assistant proposes payments throughout the day. A rule blocks new refunds whenever unresolved exposure exceeds £50,000. The rule looks conservative. Then the finance ledger begins arriving ninety seconds late.
At 10:03, the assistant sees exposure below the threshold and releases a burst of refunds. The authoritative ledger has not yet recorded them. At 10:04, delayed receipts arrive together, exposure jumps above the threshold and the guardrail freezes everything. The review queue grows. When old settlements finally reduce the measured total, the freeze lifts and the accumulated queue is released in another burst. The system alternates between silence and overshoot.
The likely intuition is that the threshold should be tightened. Set it to £40,000, perhaps, and block sooner. That may reduce one excursion. It can also increase switching, enlarge the queue and create sharper release bursts. The hidden assumption is that a guardrail observes the present and acts outside the dynamics it constrains. In reality, its decisions change queues, operator behaviour, retry rates, tool load and the future measurements on which the next decision depends.
Nothing in this incident requires a language model. Replace the assistant with a deterministic script and the pulse remains. The failure belongs to the loop. This paper develops the practical consequence: a consequential guardrail should be designed and tested as a feedback controller, not counted as a line in a policy inventory.
The guardrail enters the dynamics
Feedback begins when a system measures the consequence of its own action and changes the next action accordingly. That sounds obvious. Many AI guardrails do something weaker.
A content rule may reject a prompt. A permission check may deny a tool call. A schema validator may reject malformed output. These are useful mechanisms. They become feedback control only when their result is connected to a measured system state that matters over time. The distinction is causal, not terminological.
Suppose a guardrail checks every proposed refund against a per-transaction limit. It can prevent a £20,000 refund if the limit is £5,000. It does not, by itself, control unresolved daily exposure, customer retry pressure or the queue of partially executed refunds. Those variables evolve through the joint behaviour of model proposals, policy, tool latency, humans, external systems and previous guardrail interventions. A local check can be correct while the larger trajectory becomes worse.
The solid teal path settles. The dashed lavender path loops because delayed measurements trigger corrections after the state has already changed.
Replace the model and keep the pulse
Replace the language model with a fixed script that releases every eligible refund in queue order. Keep the delayed ledger, the threshold and the freeze-release rule. The oscillation continues. Now replace the script with a careful human operator who sees the same delayed dashboard. The pulse may become slower, but the causal structure remains. This intervention removes model stochasticity while preserving the feedback path. It shows that the instability cannot be diagnosed from model behaviour alone.
The smallest useful control model
Control theory starts by declaring what changes. Let xt be the system state at step t. In a refund workflow, it might include unresolved exposure, age of the oldest unverified effect, queue pressure and remaining authority. Let pt be the model proposal, ut the guardrail intervention, and wt disturbances such as retries, tool failures or external demand. The state evolves through a plant, which is simply the part of the world whose behaviour matters:
yt = h(xt) + vt
ut = πg(ŷt−τ, rt, policyt)
y is the measured output, v measurement noise, τ total observation delay, r the intended operating reference and πg the guardrail policy. The equation is useful only after each variable is tied to a real operational quantity.
A guardrail is open loop with respect to a variable when it acts without measuring how that variable changed. It may still use feedback about something else. A prompt classifier, for example, uses input evidence but usually does not observe whether denied users rephrase, route around the system or increase queue pressure. Control quality depends on the variable actually closed around, not on the existence of any feedback whatsoever.
When more correction becomes less stable
Let x be deviation from a target risk level. Consider the linearised update x[t+1] = 0.8x[t] − 0.5Kx[t]. The coefficient is 0.8 − 0.5K. With gain K = 1, each deviation becomes 30 per cent of the previous one. A deviation of 0.60 falls to 0.18, then 0.054. With K = 4, the coefficient is −1.2. The sign flips and the magnitude grows: 0.60, −0.72, 0.864, −1.037. The aggressive controller corrects past the target, then corrects the correction.
This tiny example assumes immediate, noiseless measurement and linear behaviour near the target. Remove those assumptions and the safe gain generally narrows. Saturation can hide divergence by clipping the action, but the resulting switching may still create queues and bursts. The lesson is not that one gain works everywhere. It is that the word “stricter” has no stable meaning without dynamics.
x[t+1] = 0.8x[t] − 0.5Kx[t−d], the admissible gain falls sharply as delay grows. This is not a deployment guarantee. It is a compact demonstration of why a correction tuned in a low-latency test environment can oscillate after tools, queues and readback add delay.Move only the effect receipt
Keep the model, policy and tool unchanged. In system A, the guardrail receives an authoritative effect receipt after every refund and updates unresolved exposure. In system B, receipts go to a separate audit store that the guardrail cannot query. Both systems have identical prompt rules and transaction limits. Which one controls exposure? Only A closes the loop around the effect. In B, the relevant plant boundary includes a state transition the controller cannot observe. The same policy has changed from feedback to guesswork.
Feedback is powerful because it can correct model error and disturbance. It is dangerous because the correction itself enters the plant. Åström and Murray’s treatment of feedback emphasises this duality: feedback can reduce sensitivity to uncertainty, but it also creates closed-loop dynamics that must be analysed for stability and robustness.[1] The practical translation is exact enough to be useful: every consequential guardrail needs an explicit state, measurement path, intervention path and timing model. Without them, there is nothing to stabilise in an engineering sense.
flowchart TD A["The guardrail that created a pulse"] --> B["The guardrail enters the dynamics"] B --> C["Two promises, return and never<br/>cross"] C --> D["Latency spends the safety margin"] D -. "re-test" .-> A classDef first fill:#0a1424,stroke:#B96D00,stroke-width:2px,color:#e6f3ff classDef step fill:#0a1424,stroke:#3f7da0,stroke-width:1px,color:#e6f3ff class A first class B,C,D step
Two promises: return and never cross
A system can return to normal after wandering through an unacceptable state. Another can remain inside the boundary while never returning to useful operation. Stability and safety answer different questions.
Stability concerns how deviations evolve. Near an operating point, do errors shrink, remain bounded or grow? Safety concerns set membership. Does the trajectory remain within an admissible set? Control Lyapunov functions and control barrier functions formalise versions of these two promises for structured dynamical systems. Ames and colleagues showed how a real-time quadratic programme can combine a performance objective with inequalities that preserve a safe set.[2]
The distinction matters immediately for AI systems. A rate limiter may keep calls below an infrastructure limit while leaving a mission permanently stalled. A retry controller may restore throughput but briefly duplicate an irreversible action. A human escalation rule may prevent automated release but let the queue grow until reviewers rubber-stamp requests. A useful guardrail must name both the boundary it will not cross and the operating region it should recover towards.
From blockers to safety filters
Runtime enforcement research already distinguishes monitors by what they can do. A monitor may halt, suppress or insert actions, and those powers determine which policies it can enforce.[3] Safe reinforcement learning work makes a related distinction through shields that either constrain the action choices offered to a learner or correct an unsafe choice before execution.[4] Predictive safety filters go further by using current state, a model and uncertainty estimates to decide whether a proposed control input can be applied or must be modified.[5]
These results do not automatically make an enterprise agent safe. Their guarantees depend on explicit system models, state observability, constraint definitions and disturbance assumptions. The transfer is methodological: place an untrusted or performance-seeking proposal behind a smaller mechanism that has direct authority over the action and can reason about the next reachable states.
What published control guarantees do and do not transfer
Control barrier functions prove set invariance for classes of dynamical systems under stated regularity, model and feasibility conditions. Shield synthesis proves properties relative to a formal abstraction and specification. Predictive filters prove safety relative to their model, uncertainty set and terminal conditions. An LLM tool workflow rarely satisfies those assumptions without additional engineering. Using the same architecture is a practitioner synthesis, not a proof that a business process inherits the theorem.
A refund assistant with four controlled states
Consider a refund assistant that can propose a typed action but cannot execute it directly. The authority kernel controls four states: unresolved monetary exposure, age of the oldest unverified effect, number of duplicate-risk operations and remaining daily approval headroom. The model proposes an amount, account and rationale. A reference governor may reduce the amount or split the operation. A safety filter predicts whether the proposed action leaves a recoverable state after expected tool and ledger delay. The kernel then authorises, rejects or routes to a verified fallback.
The action receipt proves that a request reached the payment tool. It does not reduce unresolved exposure. Only an effect receipt, obtained through an independent readback, changes that state. If the readback becomes stale, the safe set contracts: less headroom is available because uncertainty has grown. If no action can keep the predicted state inside the set, the system switches to a safe mode that accepts new cases but stops autonomous payment.
This design separates model proposal, authority, evidence and verified outcome. It also exposes a cost: a safe fallback must exist before the advanced path is allowed to operate. Simplex architectures use this idea by switching from an advanced controller to a baseline controller when safety may be lost.[6] Later black-box variants rely on runtime checking and stored safe command sequences when computation cannot finish in time.[7]
Same rejection rate, different foresight
Two guardrails reject exactly 3 per cent of proposed actions during a calm week. Guardrail A rejects after a transaction already breaches a local threshold. Guardrail B predicts that a sequence will exhaust headroom before readback and reshapes earlier actions. Their headline intervention rate is identical. Now increase tool latency. A continues to reject 3 per cent until the queue suddenly freezes. B intervenes earlier and its rejection rate rises. The changed rate is not evidence that B became worse. It is evidence that the mechanism is sensitive to the state variable that moved.
The control-eligible guardrail test
A runtime mechanism is control-eligible for a stated risk only when five conditions hold. It measures a variable causally related to that risk. It can change the future evolution of the variable. The change is verified through readback. The total loop delay is shorter than the available intervention horizon. A fallback can still recover when the preferred action becomes infeasible. Failing any condition does not make the mechanism useless. It changes the permissible claim.
Do not call a predicate a stabiliser
A predicate can establish that one action matched one rule at one time. A monitor can establish that an observed trace has not yet violated a property. A controller must additionally show that its intervention changes the relevant state in time and that the resulting closed loop remains within its tested envelope.
Latency spends the safety margin
Delay, noise and drift look like separate operational problems. From the controller’s point of view, all three enlarge the gap between the estimated state and the state that will exist when correction takes effect.
Delay is more than model response time
The relevant delay begins when the evidence describing the world becomes true and ends when the corrective effect is independently observable. It includes event ingestion, retrieval, reasoning, policy evaluation, human review, tool queuing, external execution and readback. A fast model inside a slow workflow is a slow controller.
Delay matters because the plant continues to move. Recent control research on sampled-data and time-delay systems extends barrier-function methods precisely because a controller that is safe under immediate actuation can become unsafe when measurements or inputs arrive late.[8] Work on control barrier functionals represents delayed state histories rather than pretending the current sample is enough.[9] A 2026 input-delay formulation explicitly combines prediction, feasibility and robustness because delayed correction can arrive too late and demand an infeasible actuator response.[10]
event age, retrieval, state estimation
model proposal and policy evaluation
identity, freshness, idempotency
tool queue and external execution
readback, fallback and compensation
The recovery-time inequality
A practical release gate can begin with one deliberately conservative inequality:
The left side is the shortest credible time before an unacceptable state becomes irreversible. The right side is a high percentile, not an average. The inequality is not a theorem for arbitrary workflows. It is a forcing function: every term requires a measurement, and missing measurements become explicit uncertainty rather than invisible optimism.
Noise changes the safe buffer
Measurement noise includes more than random sensor error. A risk score can be noisy because two systems disagree about status, because a classifier’s confidence is poorly calibrated, because an effect receipt is eventually consistent or because a human label is ambiguous. If the controller treats the estimate as exact, it can chatter around a threshold. Hysteresis, filtering and state estimation can reduce switching, but each adds delay. The design problem is therefore not “remove noise” but choose how uncertainty changes the admissible set.
Input-to-state safety offers one useful pattern. Rather than claim the nominal safe set remains invariant under disturbance, the method relates disturbance magnitude to a larger bounded set around it.[11] For agentic systems, the direct theorem does not transfer. The design insight does: uncertainty should visibly tighten authority or enlarge the assumed risk tube. A stale readback should not leave the action limit unchanged.
Drift moves the plant while the controller stays tuned
Drift can enter through proposal distributions, customer behaviour, policy, tool semantics, external APIs, data pipelines or organisational workarounds. A guardrail trained on one distribution may still classify individual actions correctly while the sequence-level dynamics change. Drift detectors such as ADWIN adapt their evidence window when stream statistics change and can bound false detections under their assumptions.[12] Yet a drift detector is a sensor. It does not decide which authority to remove, which set to tighten or which fallback to enter.
This is where many monitoring programmes stop too early. They create a dashboard with alerts but no defined actuator. An alert that arrives during a high-load incident may merely add work to the same humans whose queue is causing the delay. Monitoring closes no risk loop until a defined response has enough authority and time to change the trajectory.
Multiply only the queue
Keep the model, policies, per-action limits and average tool latency unchanged. Multiply demand by ten. The median decision still looks healthy, but the 99th-percentile readback delay grows as queues form. Human escalations wait longer. Retries increase. A guardrail validated on median latency now acts on older state. Nothing about the local rule changed, yet the stable operating region did. The apparent capability discontinuity belongs to the workload and measurement horizon, not necessarily to the model.
Can the controller remove risk faster than it arrives?
Suppose the worst credible burst adds £8,000 of unresolved exposure per minute. The guardrail can slow autonomous refunds by at most £5,000 per minute because contractual obligations and human approvals keep other payments moving. Even with zero delay and perfect state estimation, the controller lacks authority to make exposure fall during the burst. A smaller threshold cannot repair this. The feasible choices are to add a stronger actuator, such as a full safe-mode stop, widen the admissible buffer, or reduce upstream demand.
This yields a second release condition: the maximum verified corrective effect must exceed the worst credible growth of the controlled risk plus model error. Actuator saturation is not an edge case. It defines where the safety filter becomes infeasible. Reference-governor research handles this explicitly by modifying commands to respect state and input constraints, including uncertainty-tightened constraints.[13]
The controller stabilises the wrong variable
A support agent is controlled to keep the percentage of auto-closed cases below 40 per cent. The metric remains stable. A product update changes the meaning of “resolved”: the downstream system now marks a case resolved when a workaround is sent, not when service is restored. The guardrail continues to hold its target while customer harm grows. No tuning of gain, delay or threshold helps because the measurement bridge has broken.
This is the strongest boundary on the control analogy. A controller can stabilise only what its state represents. Semantic drift, hidden populations and unauthorised proxies can make a precise loop precisely wrong. The remedy is construct validation, counterfactual checks and independent outcome evidence. Control theory does not replace them. It makes their absence operationally visible.
stateDiagram-v2 [*] --> Claim state "Replace the model and keep the<br/>pulse" as Claim state "The smallest useful control model" as Test state "When more correction becomes<br/>less stable" as Revision Claim --> Test: expose mechanism Test --> Decision: evidence survives Test --> Revision: rival survives Revision --> Claim: narrow or rebuild Decision --> [*]
From rule lists to control contracts
A guardrail inventory answers what rules exist. A control contract answers what they control, under which assumptions, how late they may act and what happens when those assumptions fail.
The proposed contribution is a guardrail control contract. It is not a universal safety proof. It is the smallest artefact that makes a runtime-control claim testable. Each contract binds one controlled risk to a state definition, estimator, safe set, intervention authority, delay budget, disturbance envelope, readback and fallback. Different risks require different contracts because the same action may be safe for privacy, unsafe for money movement and irrelevant to service continuity.
The contract also prevents three common substitutions. A model confidence score is not a state estimate unless calibrated against the controlled property. A tool acknowledgement is not an effect receipt. A human approval step is not a fallback controller unless the reviewer has sufficient time, information and authority to recover the trajectory.
type DurationMs = number;
type EvidenceRef = string;
type GuardrailControlContract = {
controlledRisk: string;
state: {
variables: Array<{
name: string;
unit: string;
authoritativeSource: EvidenceRef;
maxAgeMs: DurationMs;
uncertaintyBound: number;
}>;
safeSet: string;
recoveryReference: string;
};
loop: {
samplingPeriodMs: DurationMs;
worstCaseDelayMs: DurationMs;
interventionHorizonMs: DurationMs;
estimator: string;
independentReadback: EvidenceRef;
};
authority: {
allowedInterventions: string[];
maximumVerifiedCorrectionPerStep: number;
saturationResponse: "reduce-authority" | "safe-mode" | "halt";
};
uncertainty: {
credibleDisturbances: string[];
driftSignals: string[];
constraintTighteningRule: string;
};
fallback: {
entryCondition: string;
verifiedRecoveryAction: string;
exitEvidence: EvidenceRef[];
};
releaseTests: string[];
prohibitedClaims: string[];
};
The schema exposes assumptions that prose often hides. A field left blank is not a documentation defect. It is a limit on the authority the system may receive.
The stability envelope
The contract should be accompanied by a tested envelope over gain, delay, uncertainty, drift and actuator authority. Inside the envelope, the configured system remains within declared bounds under the specified disturbances. Outside it, the system must reduce authority or enter fallback. This is analogous to an operating envelope in control engineering, but the variables may be business and information states rather than physical position and velocity.
A useful test programme changes one causal property at a time. Apply a step increase in hazardous proposal rate. Sweep end-to-end delay. Add measurement noise and stale evidence. Ramp drift after the controller settles. Saturate the actuator. Corrupt one readback path. Remove the safe fallback. Record maximum boundary excursion, settling time, intervention rate, time in fallback and any unknown outcomes. Failure injection is not a late resilience exercise here. It is how the envelope is discovered.
| Mechanism | Observes effect state? | Can reshape action? | Has timing margin? | Has verified fallback? | Permitted claim |
|---|---|---|---|---|---|
| Policy predicate | No | Reject or allow one proposal | Not established | No | Point decision conformance |
| Runtime monitor | Trace only | Alert, halt or suppress | Sometimes | Optional | Observed trace remains compliant so far |
| Reference governor | Yes, measured or estimated | Slows or reshapes requested action | Required | Usually paired | Constraint-aware command shaping |
| Safety filter | Yes, with reachable-state model | Modifies unsafe proposals | Required | Required near infeasibility | Safe-set claim under explicit assumptions |
| Fallback controller | Yes | Direct recovery authority | Verified worst case | It is the fallback | Recovery within a declared envelope |
| Dashboard alert | Often delayed aggregate | No direct actuator | Unknown | Human dependent | Awareness only |
An executable control bench
The laboratory below simulates a synthetic risk state. An agent proposal stream adds risk. A threshold blocker applies a fixed correction after a delayed measurement crosses a threshold. A feedback governor applies proportional and integral correction, then invokes a simple one-step safety intervention and safe mode when the predicted state approaches the boundary. Both controllers see the same disturbance.
The model is deliberately small enough to inspect. It encodes inertia, delayed noisy observation, drift and actuator saturation. It does not encode language, policy semantics, strategic users or real monetary effects. A positive result permits only this claim: the selected configuration remained bounded in this synthetic disturbance family. A negative result is more informative. It shows that even the simplified dynamics defeat the proposed timing, gain or authority.
Guardrail stability test bench
Compare a delayed threshold blocker with a feedback governor. Increase delay or drift until the loop loses margin.
Run the configured scenario. Solid line: feedback governor. Dashed line: threshold blocker. The upper horizontal rule is the unsafe boundary.
How to apply the bench to a real system
Start with a configured operational twin, not the live system. Replace the synthetic state with typed variables derived from authoritative sources. Replace the proposal stream with recorded or generated actions that cover normal, edge and adversarial demand. Implement the actual policy engine, tool latency distribution, retry semantics, state estimator and readback. Use synthetic customer data unless real data is authorised.
Run the same scenario across parameter sweeps and random seeds. A positive result should produce a bounded region, not a single successful trace. A negative result should identify the failure mode: late detection, gain-induced oscillation, estimator bias, actuator saturation, safe-mode failure or a broken measurement bridge. Then change the architecture, rather than only the prompt.
The strongest alternative explanation is that many agent workflows are not well represented by low-dimensional smooth dynamics. They contain discrete permissions, strategic actors, semantic shifts and one-off irreversible actions. That objection is correct. The control contract should not force a false differential equation onto them. It should still demand the same causal facts: what state changes, how it is observed, what intervention can change it, how long that takes and where recovery becomes impossible.
Optional depth: why integral action needs anti-windup
Integral action accumulates persistent error and can remove steady-state bias. When the actuator saturates, however, the integral term may continue to grow even though additional correction cannot be delivered. When the state finally changes, the stored integral drives a large overshoot. The laboratory clamps the integral term to limit this effect. A real guardrail should freeze or back-calculate accumulated correction whenever authority is saturated, policy changes or safe mode takes control.
Optional depth: the full synthetic model used by the laboratory
The state update is x[t+1] = 0.82x[t] + demand[t] − authority·u[t] + disturbance[t]. Demand contains a baseline, a small periodic component and a drift ramp after step 60. The threshold controller applies a fixed correction when a delayed noisy measurement exceeds 0.72. The feedback controller uses proportional and integral error around a 0.35 reference, then adds a one-step boundary correction near 0.92. If the required correction exceeds available authority, it sets proposal demand to zero and enters safe mode. Values are clipped only to keep the chart readable.
sequenceDiagram participant Q as Question participant M as Mechanism participant E as Evidence participant D as Decision Q->>M: The guardrail that created a pulse M->>E: Replace the model and keep the pulse E-->>M: compare rival explanations E->>D: Demand a closed loop before granting authority D-->>Q: revise scope or act
Demand a closed loop before granting authority
Stop asking whether the system “has guardrails”. Ask which state each guardrail controls, how old that state may be, what causal authority the guardrail possesses and whether recovery still fits before the irreversible boundary.
That question changes release decisions. A mechanism with no authoritative readback remains advisory or point-conformance control. A mechanism with uncertain state or inadequate timing receives narrower authority and a larger buffer. A mechanism with a tested state estimator, action governor, safety filter, independent readback and verified fallback may earn bounded autonomy inside its demonstrated envelope.
The practical threshold is not the presence of a rule. It is a closed-loop argument. The argument names the controlled variable, safe set, recovery reference, delay budget, disturbance envelope, actuator limits, saturation response and outcome evidence. It survives failure injection. It explains which result would revoke authority. It does not convert a stochastic model into a deterministic component. It keeps stochastic proposals behind a deterministic authority boundary whose behaviour can be measured and tested.
This also changes incident response. When oscillation appears, do not begin by tightening the classifier or adding another approval. First locate the loop: which measurement is late, which correction is over-aggressive, which queue stores hidden state, which actuator is saturated and which receipt fails to close the outcome. The fix may be a lower gain, more hysteresis, faster readback, a stronger fallback, reduced autonomy or a better state definition.
A final boundary remains. Control theory cannot tell us that the chosen risk variable is morally complete, legally authorised or semantically valid. Those require governance, domain judgement and evidence about affected people. The NIST AI Risk Management Framework and its generative-AI profile illustrate broader govern, map, measure and manage obligations that a stability proof does not discharge.[14][15] What control theory contributes is narrower and decisive: once a variable is chosen, it forces us to confront whether the system can actually keep it bounded under the delays, noise and drift of operation.
The release decision is therefore simple to state. Do not grant consequential autonomous authority to a guardrail that has never been tested as part of the dynamics it changes.
Glossary
- Actuator
- The mechanism with causal authority to change the controlled system, such as reshaping, delaying, rejecting, compensating or halting an action.
- Closed loop
- A path in which measured consequences of previous actions affect subsequent actions.
- Control barrier function
- A mathematical device that can certify and enforce forward invariance of a safe set for specified dynamical systems and assumptions.
- Control gain
- How strongly a controller changes its action in response to estimated error.
- Guardrail control contract
- The paper’s typed record binding one controlled risk to state, safe set, estimator, timing, authority, uncertainty, readback, fallback and release tests.
- Intervention horizon
- The time remaining before an unacceptable state becomes irreversible or no longer recoverable by the available actuator.
- Plant
- The part of the world whose state is being controlled, including queues, tools, people, policies and external systems where relevant.
- Reference governor
- An add-on controller that modifies a requested command so a pre-stabilised system respects state and input constraints.
- Safe set
- The set of states declared admissible for the stated property and assumptions.
- Stability envelope
- The tested region of gain, delay, uncertainty, drift and authority within which the configured loop remains within declared bounds.
References
- Åström, K. J. and Murray, R. M. (2008). Feedback Systems: An Introduction for Scientists and Engineers. Princeton University Press. Authoritative open text
- Ames, A. D., Xu, X., Grizzle, J. W. and Tabuada, P. (2017). Control barrier function based quadratic programs for safety critical systems. IEEE Transactions on Automatic Control, 62(8), 3861–3876. Primary control paper
- Ligatti, J., Bauer, L. and Walker, D. (2005). Edit automata: enforcement mechanisms for run-time security policies. International Journal of Information Security, 4, 2–16. Primary formal paper
- Alshiekh, M., Bloem, R., Ehlers, R., Könighofer, B., Niekum, S. and Topcu, U. (2018). Safe reinforcement learning via shielding. AAAI Conference on Artificial Intelligence. Primary safety paper
- Wabersich, K. P. and Zeilinger, M. N. (2021). A predictive safety filter for learning-based control of constrained nonlinear dynamical systems. Automatica, 129, 109597. Primary control paper
- Sha, L. (2001). Using simplicity to control complexity. IEEE Software, 18(4), 20–28. Primary architecture paper
- Mehmood, U., Sheikhi, S., Bak, S., Smolka, S. A. and Stoller, S. D. (2022). The Black-Box Simplex Architecture for Runtime Assurance of Autonomous CPS. Primary runtime-assurance paper
- Singletary, A., Chen, Y. and Ames, A. D. (2020). Control barrier functions for sampled-data systems with input delays. Primary delay paper
- Kiss, A. K., Molnar, T. G., Ames, A. D. and Orosz, G. (2023). Control barrier functionals: safety-critical control for time delay systems. International Journal of Robust and Nonlinear Control. Primary delay paper
- Kiss, A. K., Das, E., Molnar, T. G. and Ames, A. D. (2026). Integral control barrier functions with input delay: prediction, feasibility, and robustness. Current research preprint
- Kolathaya, S. and Ames, A. D. (2018). Input-to-state safety with control barrier functions. IEEE Control Systems Letters, 3(1), 108–113. Primary robustness paper
- Bifet, A. and Gavaldà, R. (2007). Learning from time-changing data with adaptive windowing. SIAM International Conference on Data Mining, 443–448. Primary drift paper
- Zhao, P., Kolmanovsky, I. and Hovakimyan, N. (2022). Integrated adaptive control and reference governors for constrained systems with state-dependent uncertainties. Primary constrained-control paper
- NIST (2023). Artificial Intelligence Risk Management Framework 1.0. Official framework
- NIST (2024). Artificial Intelligence Risk Management Framework: Generative Artificial Intelligence Profile. NIST AI 600-1. Official profile