# Automatic Failure Modes and Effects Analysis of an Electronic Fuel Injection Model
## 3 Automatic FMEA System
### The Function of Automatic FMEA  
#### 3.2.1 Simulink MDL Parser  
The Simulink MDL parser identifies each block and its input/output ports in the Simulink design model, and derives connectivity and hierarchy information from among them. The Simulink MDL file specifies the system structure as a pair of keys and values [42]. When the Simulink specifies a functional unit block of Simulink, the model is configured with a key representing the type, name, and location of the block. Simulink uses three  
Figure 1: Model-based automatic FMEA architecture overview.  
keys: the system syntax, the block syntax, and the line syntax, which is used to specify the connectivity and hierarchy of the design model. The system syntax consists of one or more blocks or subsystems in the Simulink model so that we can infer the hierarchical relationship between blocks. The block syntax and line syntax can interpret the connection relationships between each block in the Simulink model. Therefore, parsing the MDL file, we can identify the hierarchy and connection information of the blocks in the Simulink design model. Using this information, we can find the variables and their values to describe the local effect, next higher effect, and the end effect in the FMEA table.  
The Simulink MDL parser receives the model of the MDL format as input, interprets the syntax, and outputs a Simulink model tree that can derive FMEA failure traceability analysis. The MDL parser consists of three stages: the keys and values classification stage, context interpretation stage, and model reconfiguration stage, as shown in Figure 2. In the first stage, the keys and values classification process identifies a key in the MDL file, and stores a valid key and its value. In Simulink, the MDL model is described using keys such as \"system\", \"block\", and \"line\" and their values. The Simulink MDL parser selects and stores only the information necessary for generating the Simulink model tree from the input file.  
In the second stage, the context interpreter checks the block configuration and connection of the model, as well as the parent-child relationship structure of the block. The Simulink model uses the \"system\" key to define a parent block, including the best block or one or more functional blocks. Alternatively, signal connection between blocks is established using the \"line\" key and each block port's information. The context interpreter checks the previously processed key and value set information to create a linked block set for Simulink model tree configuration. In the third stage, the model reconfiguration process  
Figure 2: Automatic FMEA MDL parser process and model.  
creates a Simulink model tree that can be used to trace the fault propagation path using the linked block sets connected according to the system structure. The Simulink model tree created with the Simulink MDL parser is plotted in Figure 2. As shown in the figure, we can confirm the hierarchy, configuration, and the input/output between blocks of the Simulink design model.  
Using the Simulink model tree, we can describe the propagation of the failure effects of the given failure mode, i.e., the local effect, next higher effect, and the end effect in the FMEA table. Figure 3 describes a method of deriving a failure effect from a Simulink model tree. The left side of the figure explains the inter-block failure propagation within the subsystem block, and the right side shows an example of the intra-block failure propagation between the blocks up to the parent block. We can set the initial faulty block to local effect, and identify the next higher effect and the end effect blocks using the inter-block link information. If the model has the hierarchy, we can append the intra-block link information to the previous failure propagation list so that the expanded failure propagation list can be obtained.