\chapter{Introduction}

\section{Purpose}
\acrshort{csaf} is a middleware environment for describing, simulating, and analyzing closed loop dynamical 
systems. A \acrshort{csaf} component's primary interface is \acrlong{0mq} subscribe and publish system 
components, which communicate input/output of a lump abstracted component as \acrshort{ros}msgs. It 
allows component creation using common system representations, especially for specifying controllers. The 
architecture is supportive of systems to be simulated with diverse components, agnostic to the languages 
and platforms from which they were implemented.


\section{Document Conventions}

Being middleware, the interfaces are described in the serialization formats. The features 
relate to integration tasks that are likely to be employed by the user. \\

Figures are linked in blue to their corresponding content. Acronyms are documented and linked to a glossary 
at the end of the document, labeled in blue. Hyperlinks are labeled in purple. \\

Code snippets, pseudocode and message are written in fixed width font. See Figure \ref{code:example} for 
example.

\begin{figure}[h]
\centering
\begin{lstlisting}[language=Python]
def main():
"""Example Code Snippet
"""
	return 0
\end{lstlisting}
\caption{Example Code Snippet}
\label{code:example}
\end{figure}

Math expressions are used throughout the document. They float as equations, and can be referenced. See 
Equation \ref{equ:fourier} for example.

\begin{equation} \label{equ:fourier}
\mathcal{F}_t\{g\}(f) = \int_{-\infty}^{\infty} \exp\left({-i 2\pi f t}\right) g(t) dt \\
\end{equation}


\section{Intended Audience and Reading Suggestions}

This document is designed for planning \acrshort{csaf} features and its use in the \acrlong{aa} project. 
Relevant team members are intended to read, review, and request changes to the planned architecture and 
scope. The material is intended to benefit the \acrshort{csaf} contributors and control designers using the 
project for the \acrlong{aa} project, who will use the components, interfaces and components.\\

\section{Project Scope}
Its primary use is modeling systems that utilize shields with learning enable controllers (\acrshort{lec}s). 
\acrshort{csaf} subsystems accommodate a variety of controller representation; for example, some analyses 
require explicit knowledge of the fuzzy inference being used. Rather than treating everything a black box, 
there is value in knowing whether a controller utilizes a linear control law, is produced from a network 
architecture, and so on.\\

Another use of \acrshort{csaf} is in multi-loop systems, where the control vector gets transformed before 
entering a plant. For the \acrlong{gcas} challenge problem being considered, this separates problems of 
maneuverability and attitude control. Because of this, exogenic and environmental description is pertinent. 
Path planning, collision avoidance and environmental sensing are all areas that \acrshort{csaf} will handle.\\

Some of the system description might be done in the \acrshort{edsl} CoPilot 3, which outputs a monitor 
existing as a shared object library. As such, some of the components might be present only as binaries, which 
are utilized for monitoring/controlling. Further, the platform is for projects where controllers are 
delivered by other projects, and so agnosticism to language/library/platform exists. 

\section{References}

This document uses the \acrshort{ieee} 830 SRS standard, using a \href{https://github.com/jpeisenbarth/SRS-Tex}{\LaTeX{} template} provided on GitHub.  \\
