## 5 Research Directions
### Modeling and Machine Learning  
Considering the challenges of modeling a complex system in Section 4.2, a modeling methodology that can be adapted to different CPS systems is worth studying. There are two major directions that should be investigated: model-based DT and model-free DT.  
For model-based DT, the main problem is that the CPS system is difficult to mathematically model, and there are significant differences between different CPS. Therefore, any model that works and is complete for one CPS will need to be re-modeled every time the CPS changes. To address this problem, one solution is modular DT. This focuses on building the DT of the small objects of the system and combining them to form the DT of the entire system, instead of building the entire system from the beginning. This not only reduces the complexity of building a DT model but also uses the constructed DT models to create a different combination DT systemsIn model-free DT, we establish DT by frequently collecting information on physical objects. Because this kind of DT completely relies on observations and disregards mathematical model support, it is difficult for us to predict the state of the system, which greatly affects the control and optimization of the DT system. Therefore, we consider using DL to generate a neural network-based model by learning data collected from the CPS devices. In this case, even for very complex systems that are difficult to model, we can still use DL models to build DT. Nonetheless, one problem is that ML/DL algorithms usually require a large amount of data, which is sometimes difficult to provide for CPS devices with limited resources. Therefore, it is worth investigating the best way to design DL models that work for small amounts of data. Moreover, training a DL model requires considerable computing power, and trained models need to be retrained once the environment changes, both of which are obviously too demanding for CPS devices. To solve these problems, we believe that using transfer learning is a promising solution [107]. Transfer learning is an ML technology that can transfer the learned knowledge from one a well-trained model to a new learning model. Specifically, with transfer learning, we can use a generic DL model trained with large amount of the data as the source model and replace several of the last (terminal) layers in the network to construct a new model. During the training phase, we only update the replaced layers. By using this transfer learning technique, we can use less training data to obtain better performance than training from scratch. Because there are fewer network parameters that need to be trained, this method also reduces the requirements for device computing power and storage space. Therefore, it is suitable for real-time computing, real-time control, and real-time communication in a large-scale distributed CPS system.  
Finally, we should consider the integration of model-based DT and model-free DT into a hybrid-model DT. Even in the most complex cps system, there will be components that can be easily mathematically modeled. Therefore, we can mathematically model those components of the system that are easily modeled and use a model-free approach such as DL to model the remaining components. Once a DL-based model is trained, it can be treated as a modular model and directly integrated with other model-based DTs in a modular DT system. For example, in the smart transportation system, we can mathematically model the mobility of vehicles and use DL to model the Internet of Vehicle communication. By combining these two components together, we can obtain a complete DT of moving vehicles in CPS.