# Development of Ground Special Vehicle PHM with Case-Based Reason Model
## 2 Framework Description
### Data Construction and Module Development
#### 2.1.2 Logical Structure and Module  
The basic reasoning process for the application is shown in Figure 4. It is noted that in the application, the database stores not only the raw data (unprocessed data from the data acquisition network), but also contains a mirror of the case base for safety purposes. This is based on the application requirement. After the case representation is completed, the case is saved in the database and mapped into the case base, and the case base is updated synchronously with the database. A basic routine for case reasoning is described as follows: Firstly, all attributes that correspond to the case are extracted from the case base, which is used to construct a field table. Secondly, a number of specific attributes are selected according to problem-solving requirement, which is used for similarity calculation. Finally, similarities between a source case and target case are calculated, and the most similar cases are found. With the weight optimization method, the target the case, based on the results of these similar cases, is reused or revised and saves it to the case base.  
A software project named CBR Prosys is developed based on windows platform. The software realizes main function modules using java; the main function module includes attribute management, project management, case maintenance, case reasoning, and data monitoring. Each module not only has relative independence, but also contacts each other. This CBR system can be applied to different situations by the coordination among the four function modules. There are 37 classes altogether in the application. The design method is based on three-lay architecture, from top to bottom, it is GUI layer, logical business layer, and data access layer. Figure 5 shows the outline of the class module. Figure 6 shows a snapshot of the CBR process.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Class Member** & **Definition and Description** \\ \hline id & identify case \\ name & The name of the failure case \\ symptom & Description of the fault phenomenon \\ time & time of the failure occurred \\ category & Categorize failure cases \\ flist-frame & Feature name \\ flist-ftype & Feature type \\ flist-fvalue & Feature value \\ flist-fweight & Feature weight \\ \hline \hline \end{tabular}
\end{table}
Table 1: Class template for fault case definition.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Figure** & **Type** & **Parameter** & **Values of Record** \\ \hline Id & 11 & Primary key & 11 \\ YA1 & int & Cylinder forth movement & 3 \\ YA2 & int & Cylinder back movement & 0 \\ BF1 & int & Digital relief valve 1 flow & 11,598 \\ BF2 & int & Digital relief valve 2 flow & 11,088 \\ BP1 & int & Main Pump Pressure & 8320 \\ BP2 & int & Erect Pump Pressure & 6491 \\ YDL1 & int & Front Support Pressure & 240 \\ YDL2 & int & Back Support Pressure & 240 \\ TU30 & double & Time (s) & 33.947 \\ FP & Varchar(255) & Fault mode & Spool abrasion \\ \hline \hline \end{tabular}
\end{table}
Table 2: Example of case data from the hydraulic control subsystem.  
Figure 4: The proposed logical structure.  
Figure 5: Outline of the class module.