% 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}