 On the one hand, from NFV operators' view, several appli- cations on top of NFV platforms are based on NF models. For example, when an operator needs to generate test traces for deployed NFs, the operator needs to assume NFs' behaviors (i.e., model) to completely cover the test space; when the operator verifies network-wide proper- ties (e.g., reachability), whether a flow gets through an NF needs to be inferred from the NF model. Existing works usually build NF models according to their application scenarios, SO that the models are tailored specific to their applications and not generic. They fall into two categories. The first category aims to build models used for network management tasks (e.g., testing, traffic engineering, and migration), and the second one focuses on improving NF software, including its performance, 3.5 NF Modeling NFV operators NFV management applications Testing Verification Traffic engineering Automata Boolean logic NF language Instruction Models for NF standardization start netfilter implementation NF vendors Figure 3.5 NF model overview. reliability, and robustness. The representative modeling approaches are as follows: High-level box view: In most existing NFV platforms and NF performance optimization solutions, an NF is viewed as a black box with traffic traversing it, but the NF's internal logic is not differentiated. In practice, an NF is implemented as a VM with the NF software running inside it, the VM is deployed on general servers, allowing traffic to be routed through. This coarse-grained view only supports simple operations: NF bootup, migration, suspension, and destruction. OpenNF [52] takes one step further; it recognizes an NF as some running logic plus a state blob. The state blob can be created/ destroyed/moved between NF instances and encoded/decoded by NFs. This abstraction allows more flexible flow-level operations (i.e., flow migration between NF instances), but is still limited to flow management only. Following the requirements to identify the state blob, StateAly