{'fraction_non_alphanumeric': 0.019704433497536946, 'fraction_numerical': 0.0, 'mean_word_length': 4.8530259365994235, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Flexible and adaptive real-time task scheduling in Cyber-Physical Control Systems

In a Cyber-Physical Control System (CPCS), there is often a hybrid of hard real-time tasks which have stringent timing requirements and soft real-time tasks that are computationally intensive. The task scheduling of such systems is challenging and requires flexible schemes that can meet the timing requirements without being over-conservative. 
 
Fixed-priority scheduling (FPS) is a scheduling policy that has been widely used in industry. However, as an open-loop scheduler, FPS has low system dynamics and no feedback from historic operation. As the working conditions of a CPCS will change due to both internal and external factors, an improved scheduling scheme is required which can adapt to changes without a costly system redesign. 
 
In recent years, there is a large research interest in the co-design of control and scheduling systems that explicitly considers task scheduling during the design of a controller. Many of these works reveal the possibility of adapting control periods at run-time in order to accommodate varying resource requirements and to optimise CPU utilization. It is also shown that control quality can be traded off for resource usages. 
 
In this thesis, an adaptive real-time scheduling framework for CPCS is presented. The adaptive scheduler has a hierarchical structure and it is built on top of a traditional FPS scheduler. The idea of dynamic worst-case execution time is introduced and its cause and methods to identify the existence of a trend are discussed. An adaptation method that uses monitored statistical information to update control task periods is then introduced. Finally, this method is extended by proposing a dual-period model that can switch between multiple operational modes at run-time. The proposed framework can be potentially extended in many aspects and some of these are discussed in the future work. All proposals of this thesis are supported by extensive analysis and evaluations.