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
54 lines
2.0 KiB
TeX
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}
|