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