Obsidian/Presentations/ERLM/sections/09_thrust2_synthesis.tex
Dane Sabo 2497bb4aa5 Auto sync: 2025-11-12 15:59:19 (110 files changed)
M  .task/backlog.data

M  .task/completed.data

M  .task/pending.data

M  .task/undo.data

A  PLAN_OF_STUDY_111225.pdf

R  Writing/202510270-Emerson-Pres/SaboOneSlide.pdf -> Presentations/202510270-Emerson-Pres/SaboOneSlide.pdf

R  Writing/202510270-Emerson-Pres/beamerthemedane.sty -> Presentations/202510270-Emerson-Pres/beamerthemedane.sty

R  Writing/202510270-Emerson-Pres/beamerthemedane_native.sty -> Presentations/202510270-Emerson-Pres/beamerthemedane_native.sty
2025-11-12 15:59:19 -05:00

54 lines
2.0 KiB
TeX

% Thrust 2: Reactive Synthesis
\begin{frame}{Thrust 2: Reactive synthesis generates provably correct discrete controllers}
\begin{center}
\textbf{Temporal Logic} $\xrightarrow{\text{Strix}}$ \textbf{Automaton}
\end{center}
\vspace{0.5cm}
\begin{center}
\begin{tikzpicture}[node distance=2.8cm, auto, scale=0.75, transform shape]
\tikzstyle{state} = [circle, minimum width=1.5cm, text centered, draw=black, fill=blue!20, font=\small]
\tikzstyle{arrow} = [->, >=stealth, thick]
\node[state] (cold) {Cold\\Shutdown};
\node[state, right of=cold] (heat) {Heatup};
\node[state, right of=heat] (power) {Full\\Power};
\node[state, below of=heat, fill=red!30] (scram) {SCRAM};
\draw[arrow] (cold) -- node[above, font=\tiny] {$T > 400°F$} (heat);
\draw[arrow] (heat) -- node[above, font=\tiny] {Stable} (power);
\draw[arrow] (heat) to[bend left=45] node[right, font=\tiny] {Fault} (scram);
\draw[arrow] (power) to[bend right=45] node[left, font=\tiny] {Fault} (scram);
\draw[arrow] (scram) to[loop below] node[below, font=\tiny] {Stay safe} (scram);
\end{tikzpicture}
\end{center}
\vspace{0.5cm}
\begin{center}
\Large \textbf{Correct by Construction}\\
\normalsize No switching errors possible
\end{center}
%SPEAKER NOTES: See comments below
%
\textbf{What is Reactive Synthesis?}
Input: Temporal logic formula (what should happen)
Output: Finite state machine (how to make it happen)
Guarantee: If a solution exists, it is correct by construction
\textbf{Example: Simplified Reactor Automaton}
Nodes = discrete modes (what control strategy to use)
Edges = transition conditions (when to switch)
No switching errors possible---the automaton is mathematically guaranteed to satisfy specifications
\textbf{This is the ``Operator's Decision-Making'' Automated}
Tool: Strix (SYNTCOMP competition winner)
Output: Discrete controller with formal correctness guarantee
% (End of speaker notes)
\end{frame}