\section{Analyze System Behavior}
\subsection{Function Hierarchy}
\par After confirming HoQ, it is essential to map out functions that are respond to the requirements. Parent and child relationship would be used in this phase. 
\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Function-Architecture.png} % Adjust width to fit the page
    \caption{Functional Architecture} % Add a caption for the image
    \label{fig:ffbd-architecture} % Label for referencing the image
\end{figure}
\subsection{Functional Flow Block Diagram (FFBD)}
\subsubsection*{Level 1 - FFBD}
At the first iteration, it's not important to consider the inner input and out of the functions, but what steps or phases come next \cite{wikibooks2023}. 
\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level1-1.png} % Adjust width to fit the page
    \caption{ 1. Deploy System - FFBD} % Add a caption for the image
    \label{fig:ffbd-level1-deploy} % Label for referencing the image
\end{figure}
\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level1-2.png} % Adjust width to fit the page
    \caption{2. Capture Outdoor  - FFBD} % Add a caption for the image
    \label{fig:ffbd-level2-capture} % Label for referencing the image
\end{figure}

\begin{figure}
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level1- Provide Digital Information.png}
    \caption{3. Provide Digital Information}
    \label{fig:enter-label}
\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{Level 1- Control Irrigration.png} % Adjust width to fit the page
    \caption{4.0 Control Irrigration.} % Add a caption for the image
    \label{fig:ffbd-control-irrigration} % Label for referencing the image
\end{figure}


\input{maintenance}
%\begin{figure}[H]
 %   \centering
  %  \includegraphics[width=\textwidth]{Level 1-Maintenance and Prevention.png} % Adjust width to fit the page
   % \caption{ \textbf{5.0 Maintenance and Prevention.}} % Add a caption for the image
    %\label{fig:ffbd-architecture} % Label for referencing the image
%\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level2- Measure Outdoor Environment.png}
    \caption{2.1 Measure Outdoor Environment}
    \label{fig:enter-label}
\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level2-DetectWaterNeed.png} % Adjust width to fit the page
    \caption{4.1 Detect Water Need - FFBD} % Add a caption for the image
    \label{fig:ffbd-architecture} % Label for referencing the image
\end{figure}

\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level2-SystemFailureDetection.png} % Adjust width to fit the page
    \caption{ 1.3 Detect System Failure - FFBD} % Add a caption for the image
    \label{fig:ffbd-architecture} % Label for referencing the image
\end{figure}
\begin{figure}[H]
    \centering
    \includegraphics[width=\textwidth]{FFBD-Level2-ETL.png} % Adjust width to fit the page
    \caption{2.2 ETL - FFBD} % Add a caption for the image
    \label{fig:ffbd-architecture} % Label for referencing the image
\end{figure}
\newpage

\subsection{N-Square Diagram}
\par After completing the functional flow block diagram, we need to defind what are the flows comming through our functions \cite{sebokwiki_typesofsystems}. We can use N-Square diagram to convey the content of the flow as well of its direction. If component doesn't have the communication with other component in the same level it would not appear, rather the upper level of boundary would express the communication.
\begin{figure}[H] % 'H' ensures the figure stays where you place it
    \centering
    \includegraphics[trim=0 430 0 50, clip, width=\textwidth, height=4cm]{N Square Diagram - Level1.pdf} % Adjust the width (50% of text width here)
    \caption{N-Square Level 1}
    \label{fig:N-square-level 1}
\end{figure}
With FFBD completed, the next step is defining flows that occurs between functions in the system (SEBoK Wiki, 2025). To visualize this, we use the N-Square Diagram, it represent content and direction of information exchanged between functions.

Figure \ref{fig:N-square-level 1} illustrates the Level 1 N-square diagram representing the data exchanges between functions. For example, the function "Capture Outdoor Environment" communicates with "Maintenance and Prevention" by sensor status codes. It shows the information flows only from "Capture Outdoor Environment" to "Maintenance and Prevention". Similarly, the "Capture Outdoor Environment" function also interacts with "Provide Digital Information", transmitting data such as HTML outputs and database logs. 

This diagram defines how the components interact and convey abroad communication view of each layer. This is repetitive process, proceed with layer 2 functions, with a clear marking for the communication flows. These are important steps for picking component of systems since it refelct required flow and information needed for the component.


\begin{landscape}
\begin{table}[H]
\renewcommand{\arraystretch}{0.7}
\centering
\caption{N-Diagram Level 2 for 1.0 Deploy Assembly}
{ % Begin scriptsize block
\small
\begin{tabularx}{\linewidth}{|X|X|X|X|X|X|X|}
\hline
\textbf{1.1 Pre-assemble Parts} & pre-built set & & & & & \\
\hline
& \textbf{1.2 Deploy the Preassembled Parts} & & & & &  \\
\hline
& & \textbf{1.3 Install Embedded Software} & & & &  \\
\hline
& & & \textbf{1.4 Add Enclosures} & & &  \\
\hline
& & & & \textbf{1.5 Power Assembly} & &  \\
\hline
& & & & & \textbf{1.6 Power Remote Valve}  & \\
\hline
& & & & & & \textbf{1.7 Power Sensors}  \\
\hline
\end{tabularx}
} % End scriptsize block
\end{table}

\begin{table}[H]
\renewcommand{\arraystretch}{0.6}
\centering
\caption{N-Diagram Level 2 for 2.0 Measure Outdoor Environment and 3.0 Provide Digital Information}
{ % Begin scriptsize block
\scriptsize
\begin{tabularx}{\linewidth}{|X|X|X|X|X|X|X|X|X|X|}
\hline
\textbf{2.1 Measure Outdoor Condition} & low-power signal & & & & & & & & \\
\hline
& \textbf{2.2 ETL} & & & & & & & & \\
\hline
 & & \textbf{3.1 Preview Data} & HTML & & & & & & & \\
\hline
 & & & \textbf{3.2 Provide Mobile Services} & & & & & & & \\
\hline
& & Expense Log, Maintenance Log & & \textbf{3.3 Gather and Manage Resources} & & & & & & \\
\hline
& & & & & \textbf{4.1 Detect Water Need} (True/False) & & & & & \\
\hline
& & & & & Water Output & \textbf{4.2 Request Water Need} & & &  \\
\hline
& &  Null or Data (error code) & & & & & \textbf{5.1 Detect System Failure}  & (Error Code, Alert) & \\
\hline
& & & &  Maintenance Log & & & & \textbf{5.2 Create Maintenance Logging} &  \\
\hline
&  & Maintenance Log &  &Warranty Info& Warranty Info& & & Warranty Info&  \textbf{5.3 Schedule Preventive Maintenance/Inspection}  \\
\hline
\end{tabularx}
} % End scriptsize block
\end{table}

\begin{table}[H]
\renewcommand{\arraystretch}{0.7}
\centering
\caption{N-Diagram Level 3 for 3.2 Provide Mobile Services}
{ % Begin scriptsize block
\scriptsize
\begin{tabularx}{\linewidth}{|X|X|}
\hline
\textbf{3.2.1 Create Ad-hoc Network} & check connectivity  \\
\hline
& \textbf{3.2.2 Give System Access}  \\
\hline
\end{tabularx}
} % End scriptsize block
\end{table}

\begin{table}[H]
\centering
\caption{N-Diagram level 3 for 1.2 Deploy the preassemble parts}
\begin{tabularx}{\textwidth}{|X|X|}
\hline
\textbf{1.2.1 Mount Assembly} & Mounting Size and Type \\
\hline
Load or weight amount & \textbf{1.2.2 Inspect Mounting Equipment}   \\
\hline
\end{tabularx}
\end{table}

\begin{table}[H]
\renewcommand{\arraystretch}{0.7}
\centering
\caption{N-Diagram Level 3 for 5.3 Schedule Preventive Maintenance/Inspection}
{ % Begin scriptsize block
\scriptsize
\begin{tabularx}{\linewidth}{|X|X|X|}
\hline
\textbf{5.3.1 Collect Parts Handbook} & Parts Type, Parts Number & Parts Type, Parts Number \\
\hline
& \textbf{5.3.2 Classification of Inspection Type} & A, B, C  \\
\hline
& & \textbf{5.3.3 Classification of Maintenance Type} \\
\hline
\end{tabularx}
} % End scriptsize block
\end{table}

\begin{table}[H]
\renewcommand{\arraystretch}{0.7}
\centering
\caption{N-Diagram Level 3 for 3.3 Manage and Gather Resources}
{ % Begin scriptsize block
\scriptsize
\begin{tabularx}{\linewidth}{|X|X|X|X|X|}
\hline
\textbf{3.3.1 Built In-House Service for Tracking} & & & & & \\
\hline
Graph & \textbf{3.3.2 Track Network Usage} & & & & \\
\hline
Table & & \textbf{3.3.3 Track Monthly Expense} & & & \\
\hline
Table & & & \textbf{3.3.4 Check Part Availability} & & \\
\hline
Warranty Deadline & & & & \textbf{3.3.5 Check Warranty Duration} & \\
\hline
\end{tabularx}
} % End scriptsize block
\end{table}
\end{landscape}




\subsection{Function Allocation}
\par The Figure \ref{fig:ffbd-architecture}: Functions Hierarchy, provided above is a recursive process to map out the parent-child relationship. Through multiple iterations, we soon can capture the interfaces of input and out of lowest level of sub-processes ( level 3). As next part of the process, and with tools we can focus on and input and output of these processes or function. For such task we can use Function Allocation table to break down the input and output between functions, and more importantly, constraints and mechanism of them. At this phase, in order to conclude such table, we have to adapt the "Product Realization phases", which include three optional process activities which are purchase, make/code, and reuse. In simple term, resources are the one used to consume our inputs. Therefore, as long as the resources or products listed are able to consume the required input and produce the expected output, we can list them as mechanisms and resources needed for that process. Ideally this resources soon will be components should perform multiple function. If new function requirement added this component should be reused. The next section will explain how we group these components and generate hierarchy structure and group them as packages. With new structure we have traceability of function and resources for the project. 

 \begin{table}[h]
    \centering
    \begin{tabular}{|l|l|}
        \hline
        Field       & Description \\ \hline
        Function    & \textit{Processes, activities, reusable.} \\ \hline
        Input       & \textit{Information, material, flow going into function} \\ \hline
        Output      & \textit{Information, material, flow going out of function} \\ \hline
        Constrain   & \textit{Constrains applied on the function such as (policy,rules,material availability} \\ \hline
        Mechanism   & \textit{Method, assets to execute the functions. Can be viewed as resources} \\ \hline
    \end{tabular}
    \caption{Description of Function Allocation}
    \label{tab:function_fields}
\end{table}

\input{Function-Allocation}
%\input{predice-water}

\newpage

%\input{system-specification}
