Neural Feedback Scheduling of RealTime Control Tasks
Abstract
Many embedded realtime control systems suffer from resource
constraints and dynamic workload variations. Although optimal feedback
scheduling schemes are in principle capable of maximizing the
overall control performance of multitasking control systems, most of
them induce excessively large computational overheads associated
with the mathematical optimization routines involved and hence are
not directly applicable to practical systems. To optimize the
overall control performance while minimizing the overhead of
feedback scheduling, this paper proposes an efficient feedback
scheduling scheme based on feedforward neural networks. Using the
optimal solutions obtained offline by mathematical optimization
methods, a backpropagation (BP) neural network is designed to adapt
online the sampling periods of concurrent control tasks with respect
to changes in computing resource availability. Numerical simulation
results show that the proposed scheme can reduce the computational
overhead significantly while delivering almost the same overall
control performance as compared to optimal feedback scheduling.
Keywords: Feedback scheduling, Neural networks, Realtime
scheduling, Computational overhead, Embedded control systems
F. Xia, Y.C. Tian, Y. Sun and J. Dong]
Feng Xia, YuChu Tian, Youxian Sun and Jinxiang Dong
Faculty of Information Technology
Queensland University of Technology
GPO Box 2434, Brisbane QLD 4001, Australia
{f.xia, y.tian}@qut.edu.au
Corresponding author
State Key Laboratory of Industrial Control Technology
Zhejiang University
Hangzhou 310027, P. R. China
College of Computer Science and Technology
Zhejiang University
Hangzhou 310027, P. R. China
Received August 2007; revised December 2007
1 Introduction
Embedded control systems have been used in a wide variety of applications. These systems are typically resource constrained due to various technical and economic reasons [1, 2, 3, 4, 5]. In particular, the computing speeds of most embedded processors are limited as compared to generalpurpose computers. Also, it is common that multiple control tasks have to compete for the use of one processor. For a realtime embedded control system, such resource constraint may affect the system timing behaviour significantly and may even yield unsatisfactory control performance. This problem will be further pronounced when the system operates in dynamic environments where the CPU workload varies over time. In the context of resource constraints, these dynamic variations in workload will possibly lead to low CPU utilization and/or system overloading. As a consequence, the performance of a multitasking control system will be jeopardized [4, 6].
Recently, feedback scheduling [1, 4, 7] has emerged as a promising technology for addressing the above mentioned uncertainty in resource availability. The basic idea of feedback scheduling is to allocate available resources dynamically among multiple realtime tasks based on feedback information about actual resource usage. In multitasking control systems, a straightforward objective of feedback scheduling is to optimize the overall quality of control (QoC) characterized by some sort of performance indices. Accordingly, the problem of feedback scheduling can be formulated as a constrained optimization problem, which is usually referred to as optimal feedback scheduling [1]. In this optimization problem, the total control cost is to be minimized through optimizing scheduling parameters of control tasks under the constraint of system schedulability. The most popular solution for this optimization problem is based on mathematical optimization algorithms, e.g., [8, 9, 10, 11, 12]. Since feedback schedulers are usually executed at runtime, it is of paramount importance to take into account the computational overhead of the scheduling algorithm to be employed [10, 11]. If the feedback scheduler consumes too much computing resources, the execution of control tasks will inevitably be impacted in the presence of resource constraint. This may then cause significant degradation of the overall QoC. In theory optimal feedback scheduling schemes are effective in optimizing the overall QoC, but optimization solutions typically involve complex computations, which induce large overheads. Therefore, they are not suitable for online use in most cases.
To tackle the problem associated with the large computational overheads of optimal feedback scheduling algorithms, a neural feedback scheduling (NFS) scheme will be proposed in this paper. The goal is to optimize the overall QoC of multitasking control systems through feedback scheduling while minimizing the scheduling overhead. A feedforward backpropagation (BP) neural network with a simple structure is adopted to build the feedback scheduler. The scheme has the advantages of low computational overhead, wide applicability, and intelligent computation. It can also deliver almost optimal QoC.
Much effort has been made to approximate the optimization solutions using simpler algorithms that incur smaller overheads. Cervin et al. [13] presented a linear proportional rescaling method. Castane et al. [11] developed a heuristic approximation of the optimization procedure. However, these approaches are more or less ad hoc. For example, the rescaling method in [13] is mainly intended for systems with approximately linear or quadratic cost functions. In contrast, NFS is based on a formal and wellestablished technology, i.e., neural networks, and is consequently widely applicable. While neural networks have proven to be a highly effective technology for solving scientific and engineering problems [14, 15, 16, 17], the application of neural networks in feedback scheduling remains unexplored.
The rest of this paper is organized as follows. Section 2 formulates the problem of optimal feedback scheduling. The neural feedback scheduling scheme is proposed in Section 3. Section 4 evaluates the performance of the proposed scheme via numerical simulations. Finally, the paper is concluded in Section 5.
2 Problem Formulation
Consider a system where independent control tasks running on a processor with limited processing capability. In addition to control tasks, other noncontrol tasks with higher priorities may run concurrently. The timing attributes of these noncontrol tasks cannot be manipulated intentionally. The execution times of control tasks and the requested CPU utilization of noncontrol tasks may change over time. The feedback scheduler adapts the sampling periods of the control tasks to workload variations so that the CPU utilization is maintained at a desired level. For simplicity, assume that all task execution times and the CPU workload are available at runtime.
According to sampleddata control theory, smaller sampling periods yield better control performance. However, the decrease in sampling period will result in an increase in the requested CPU utilization of the relevant control task. In extreme cases the schedulability of the system may be violated, and hence the control performance will deteriorate due to deadline misses. In order to optimize the overall QoC, the sampling periods should be adjusted under the constraint of system schedulability [18]. From the optimization point of view, the available computing resource should be distributed among control tasks in an optimal way that the total control cost of the system is minimized.
Let and denote the period and the execution time of control task , respectively. Optimal feedback scheduling can be formulated as a constrained optimization problem:
(1) 
where is the control cost function of loop , as a function of the period ; is a weight reflecting the relative importance of each loop; is the maximum allowable utilization of all control tasks and is related to the underlying scheduling policy and the requested utilization of disturbing tasks. In general, is monotonically increasing.
To obtain linear constraints, the costs are often recast as functions of sampling frequencies [8, 13]. By argument substitution, (1) can be rewritten as:
(2) 
In the above formulation, it is crucial to choose an appropriate cost function. Linear quadratic cost functions are used in [8, 9, 10]. Alternatively, approximate cost functions may also be used, as in [12, 13]. The neural feedback scheduling scheme to be developed in this paper does not rely on control cost functions of any specific forms. It is applicable to control systems with arbitrary cost functions provided that (2) can be solved offline.
In the area of optimization, there exist many wellestablished methods for solving the constrained optimization problem formulated by (2). The necessary and sufficient condition for the optimal solutions is given by KuhnTucker condition [19], given that the is convex. When is not convex, the KuhnTucker condition becomes a necessary condition. Since is convex for most control systems [8], the KuhnTucker condition can be regarded as a general tool for obtaining the optimal sampling frequencies/periods. Sequential quadratic programming (SQP) has been recognized as one of the most efficient methods for solving constrained optimization problems [20]. For the sake of simplicity, it is assumed hereafter that the SQP method is by default used for the optimal feedback scheduling scheme wherever it is involved.
Complex computations associated with gradients and Hessian matrices will be involved when solving (2) using mathematical optimization algorithms; and a large number of iterations are usually required before reaching the final solution. This results in high computational complexity of the algorithms. In the SQP method, for instance, one or two quadratic programming subproblems must be solved in each iteration and thus take a great deal of time to complete. When applied to feedback scheduling, this algorithm may introduce significant overheads. In fact, most of existing optimal feedback scheduling algorithms suffer from the problem of too large computational overheads, which impair their practicability.
3 Neural Feedback Scheduling
Since optimal feedback scheduling schemes are generally too computationally expensive to be used online, schemes with much less computational complexity are needed. In this section, an efficient feedback scheduling scheme using neural networks will be proposed. Some reasons for using neural networks are:

Feedforward neural networks with simple structures can yield much smaller feedback scheduling overheads than mathematical optimization methods;

With regard to the accuracy of the solutions, mathematical optimization methods generate the accurate optimal solutions offline, which can be exploited in the design of online feedback schedulers. On the other hand, neural networks are powerful in learning and adapting, and are capable of approximating complex nonlinear functions with arbitrary precision [14, 21]. Once well trained using the accurate optimal solutions at design time, neural networks will be able to deliver almostoptimal feedback scheduling performance at runtime; and

The generalization capability of neural networks is also very good in that they can easily handle untrained input data, noise, incomplete data, etc. This helps improve the robustness and faulttolerance of the feedback scheduler.
3.1 Design methodology
The basic idea behind neural feedback scheduling is to use a feedforward neural network to approximate the optimal solutions, which are obtained using mathematical optimization methods. Following this idea, training and testing data will not be a problem since it can be easily created offline by applying, say the SQP method, to the optimal feedback scheduling problem. In the following the structure of neural feedback scheduler and the design flow will be described.
This paper uses a threelayer feedforward BP network to build the feedback scheduler. Two major reasons for the choice of a BP network are as follows:

The structure of BP neural networks is simple, which is beneficial to simplifying online computations; and

Due to their somple structure, BP networks are easy to implement, and are the most widely used neural network technology in practice.
As shown in Figure 1, there is only one hidden layer apart from the input and output layers in the BP network used as the neural feedback scheduler. Since feedforward neural networks with only one hidden layer are able to approximate arbitrary functions with arbitrary precision that are continuous on closed intervals [14], one hidden layer is sufficient for guaranteeing solution accuracy.
According to (2), with given cost functions, the values of sampling frequencies will depend on the execution time of each control task and the desired CPU utilization . As a consequence of this observation, () inputs, i.e., , , are set for the neural feedback scheduler. Since the role of the feedback scheduler is to determine sampling periods of all loops, the sampling periods or frequencies are natural outputs of the neural feedback scheduler.
From a realtime scheduling perspective, both the inputs and outputs of the feedback scheduler are related to resource utilization. From a control perspective, sampling periods/frequencies are important design parameters of the control loops. Therefore, the neural feedback scheduler establishes a mapping from temporal parameters (for realtime scheduling) to controller parameters (for realtime control).
The relationship between the outputs and inputs of the neural feedback scheduler is expressed as:
(3) 
where W, W, B and B are weight matrices and bias vectors, respectively; the input vector X; and the output vector Y (or ). The activation functions used are the sigmoid transfer function in the hidden layer and the linear transfer function in the output layer.
In designing a neural feedback scheduler, it is of great importance to determine an appropriate number of neurons in the hidden layer. Although there are some guidelines for neural network design, there is no general theory for determining the number of hidden neurons. Therefore, practical experience and simulation studies must be relied on in most cases. As Equation (3) indicates, the number of hidden neurons is closely related to the computational complexity of the neural feedback scheduler. In the case of too many hidden neurons, the feedback scheduler will consume too much computing resource, thus causing large feedback scheduling overheads. Fortunately, the number of control tasks that run concurrently on the same CPU is typically limited, e.g., less than 10 in most cases [8, 9, 10, 11, 12, 13]. Therefore, it is usually unnecessary for the number of hidden neurons to be very large. This ensures that the computations associated with the neural feedback scheduler will not be overly timeconsuming. In the training of the BP network, the LevengergMarquardt (LM) algorithm is adopted.
The design flow of the neural feedback scheduler is as follows. Firstly, formulate the problem in the form of constrained optimization as given in (2). Determine the form of the cost functions based on control systems analysis, and initialize related parameters. Secondly, analyze the characteristics of the execution times of the control tasks to obtain the ranges of their values. Within the ranges of as well as , select a number of data pairs, and for each pair, use the SQP method to solve the optimal feedback scheduling problem offline, producing sufficient sample data sets. Thirdly, determine the number of hidden neurons according to the number of control loops, and initialize the neural network. Finally, train and test the neural network using preprocessed sample data sets. Once the BP network passes the test, it can thereafter be used online as the neural feedback scheduler.
The online application of the welldesigned neural feedback scheduler is straightforward. At every invocation instant, the feedback scheduler gathers the current values of all input variables, and then calculates the sampling periods/frequencies using (3), followed by the update of sampling period of each loop.
3.2 Complexity analysis
The computational complexity of the neural feedback scheduler proposed above is analyzed below. Though the application of neural feedback schedulers involves not only online computations but also offline computations, e.g., mathematical optimization, network training and test, etc., only the complexity of online computations is of concern in this paper. This is because it is the computational operations at runtime that decide the feedback scheduling overhead.
With a given invocation interval, the amount of computing resource consumed by the feedback scheduler depends directly on the CPU time needed for each run. To analyze the computational complexity of the neural feedback scheduler, consider the online calculation (3). Let be the number of hidden neurons. Equation (3) can be easily decomposed into the following three subequations:
(4) 
where A and Z . By substituting
Equation (4) can be rewritten as:
(5) 
(6) 
and
(7) 
The above three equations (5) through (7) give almost all operations that the neural feedback scheduler has to complete each time when it is invoked. There are altogether basic operations associated with these computations. Clearly, the feedback scheduling overhead relates primarily to the number of control loops and the number of hidden neurons, i.e., and . In general cases, is proportional to , i.e., , e.g., . Therefore, the time complexity of the neural feedback scheduling algorithm is . In contrast, the computational complexity of a typical mathematical optimization algorithm, e.g., SQP, is (at least) [11]. Therefore, the neural feedback scheduling can significantly reduce the computational complexity of the algorithm in comparison with optimal feedback scheduling.
As mentioned above, the value of is always limited in real systems. It will never approach infinity. Consequently, a more convincing method for examining the runtime efficiency of feedback schedulers is to compare the actual CPU time consumed by different feedback schedulers via simulations and/or real experiments, see the next Section.
4 Numerical Example
This section will test and analyze the performance of the proposed scheme via numerical simulations using Matlab/TrueTime [22]. From the control perspective, the purpose of this evaluation is twofold. The first is to validate the effectiveness of the neural feedback scheduling, i.e., to check whether or not it is able to deal with dynamic variations in both the control tasks’ resource demands and the available resources. The second is to study the difference between neural feedback scheduling and ideal optimal feedback scheduling in optimizing the overall QoC. From the viewpoint of implementation efficiency, the actual time overheads of different feedback schedulers will be compared, thus highlighting the major merit of the proposed scheme.
4.1 Setup overview
Consider an embedded processor that is responsible for controlling three inverted pendulums concurrently. Thus, there are three independent control tasks. The linearized statespace models of the inverted pendulums are in the form [13]:
(8)  
where is the natural frequency of the inverted pendulum, and are sequences of white Gaussian noise with zero mean and variances of and , respectively.
Due to the difference in length, the three inverted pendulums have different natural frequencies given by = 10, 13.3, and 16.6, respectively. All initial states are zero. Every pendulum is controlled independently by a linear quadratic Gaussian (LQG) controller, whose objective is to minimize the following cost function:
(9) 
For the sake of simplicity, the approximate cost function given in [13] is used in (2):
(10) 
where = 43, 67, and 95 for control loop , respective;y. The initial sampling frequency of each loop is chosen as = 58.8, 71.4, and 83.3 Hz, respectively. Also, assume = 1 for simplicity.
In addition to these three control tasks, there is a periodic noncontrol task. The execution time of this task is variable, causing to vary over time. When the execution of the feedback scheduling task is neglected, the desired total CPU utilization of all tasks is set to . According to [23], the system schedulability under the rate monotonic (RM) scheduling policy is guaranteed by . The execution time of the noncontrol task is , and its period . Therefore, , implying that will change with .
Task priorities are assigned as follows. The feedback scheduling task has the highest priority, and the priorities of other tasks are determined in accordance with the RM policy. The invocation interval of the feedback scheduler is . To measure the overall QoC of the syste,, the total control cost of three control loops is recorded:
(11) 
4.2 Neural feedback scheduler design
The neural feedback scheduler is designed following the procedures described in Section 3.1. Based on the above description of the simulated system, the following formulation of the corresponding optimal feedback scheduling problem is obtained from (2).
(12) 
where is a constant.
For the purpose of creating sample data, the ranges of , , and are set to [2, 9], [2, 7], and [1, 7], respectively, with increments of 1. takes on values ranging from 0.5 to 3 with increments of 0.5. The units of these parameters are ms. For all possible values of these parameters, applying the SQP method to solve (12) offline results in 2016 sets of sample data in total.
To further simplify online computations, the sampling periods instead of the frequencies are used as the outputs of the neural feedback scheduler. Once the sample data sets are created, they will be normalized onto the interval [0, 1]. Since and are on rather different orders, normalizing original sample data can avoid saturations of neurons and speed up the convergence of the neural network. It is not imperative in this work that the sample data be normalized, because all original data falls inside the interval [0, 1]. In general cases, however, normalization helps improve the performance of neural networks.
In order to determine the number of hidden neurons, i.e., the value of , neural networks of different sizes are tested. Given that the performance is comparable, a smaller value should be chosen in order to reduce the feedback scheduling overhead. From this insight, set because of the good performance of corresponding neural network. Once passing the test, the parameters of the neural network are stored for online use.
4.3 Results and analysis
Let us examine the overall performance of the control system first. The execution time of each task varies at runtime according to Figure 3. The overhead of the feedback scheduling is neglected here and will be studied later. The following three schemes are compared:

Openloop scheduling (OLS): All control loops use fixed sampling periods;

Optimal feedback scheduling (OFS): The optimal feedback scheduling scheme that uses the SQP method. This is an idealized case for control performance optimization because the online computational overhead is assumed to be zero; and

Neural feedback scheduling (NFS): The method presented in this paper.
Figure 3 depicts the total control cost of the system calculated using (11). With the traditional openloop scheduling scheme, the system finally becomes unstable. Compared with the other two feedback scheduling schemes, the openloop scheduling yields the worst overall QoC. After time instant s, at least one pendulum falls down under openloop scheduling. At s, the task execution times = 0.004, 0.0046, 0.0057, and 0.002s, respectively. The total requested CPU utilization of all tasks is . Obviously, the system is not schedulable. After this time instant, the total requested CPU utilization remains very high all along (see Figure 5), thereby leading to system instability. Furthermore, according to the principle of the RM algorithm, the priority of task 1 is the lowest due to its largest period. Therefore, the first pendulum is finally out of control.
By comparing NFS with OLS via Figure 3, it is found that NFS is effective in dealing with dynamic variations of both task execution times and available resources. The comparison of NFS and OFS, on the other hand, indicates that NFS can deliver almost the same overall QoC as OFS.
To examine the difference between NFS and OFS in more detail, Figure 5 depicts the sampling periods of three control loops under different schemes. In contrast to the fixed sampling periods under OLS, both NFS and OFS adapt sampling periods at runtime. All sampling periods under NFS and OFS are nearly the same, again indicating that neural feedback scheduling delivers almost the same results as optimal feedback scheduling.
The adjustment of sampling periods results in changes in the total requested CPU utilization of all tasks. As shown in Figure 5, when the openloop scheduling scheme is used, the CPU workload changes with task execution times, because all task periods are fixed. After time instant s, the total requested CPU utilization is always higher than 100%, thereby incurring severe overload conditions. On the contrary, OFS and NFS are able to keep the (requested) CPU utilization at or very close to the desired level = 75% by means of dynamic adjustment of task periods. The system schedulability is therefore always guaranteed under OFS and NFS.
In the following, the runtime overhead of the neural feedback scheduler is examined, in comparison with the optimal feedback scheduler. Both feedback schedulers are implemented in the same environment using Matlab. The hardware platform is the same PC running Microsoft Windows XP. This environment cannot provide realtime guarantees. It is used here only for the comparison of different feedback schedulers in terms of computational overhead. Attention should be paid to the relative values rather than the absolute values of the CPU time the feedback schedulers consume.
For the optimal feedback scheduler and the neural feedback scheduler designed above, the CPU time they actually expend for 500 consecutive runs is recorded, respectively. In each run, task execution times are randomly drawn from the sets given in Figure 3.
As shown in Figure 7, the execution time of the optimal feedback scheduler using SQP falls between 0.12s and 0.25s in most cases, with the average of 0.1701s. The execution time of the neural feedback scheduler is always less than 0.04s, and close to 0.02s in most cases. The average becomes 0.0207s. The ratio of time overhead of OFS to NFS approximates 0.1701:0.0207 8.22:1. The overhead of NFS is only 12.2% that of OFS!
Figure 7 gives the box and whisker plot for recorded execution times of two feedback schedulers. It is clear that the neural feedback scheduler induces much smaller computational overhead than the optimal feedback scheduler. Thanks to the simple form of the cost functions employed in the simulations, i.e., (10), the time overhead of the optimal feedback scheduler is not very big. Intuitively, as the form of the cost functions becomes more complex, the overhead of OFS will increase, but the overhead of NFS will not be substantially affected.
5 Conclusion
As a fast and intelligent feedback scheduling scheme, the neural feedback scheduling has been proposed in this paper for realtime control tasks. It fully exploits the offline solutions for the optimal feedback scheduling problem, which are offered by mathematical optimization algorithms. With the proposed approach, almost optimal QoC can be achieved. Meanwhile, compared to optimal feedback scheduling, it can significantly reduce the runtime overhead, which is particularly beneficial to embedded control systems that operate in resourceconstrained and dynamic environments. The proposed approach does not rely on any specific forms of the control cost functions, making it widely applicable. In addition, the use of neural networks potentially enhances the adaptability, robustness, and faulttolerance of the feedback scheduler.
Acknowledgments
This work is partially supported by the China Postdoctoral Science Foundation under grant number 20070420232, the Australian Research Council (ARC) under Discovery Projects grant number DP0559111, the Australian Government’s Department of Education, Science and Training (DEST) under International Science Linkages (ISL) grant number CH070083, and the Natural Science Foundation of China under grant number 60774060.
References
 Årzn, K.E., A. Robertsson, D. Henriksson, M. Johansson, H. Hjalmarsson and K. H. Johansson, Conclusions of the ARTIST2 Roadmap on Control of Computing Systems, ACM SIGBED Review, vol.3, no.3, pp.1120, 2006.
 Lozoya, C., M. Velasco and P. MartÍ, A 10Year Taxonomy on Prior Work on Sampling Period Selection for ResourceConstrained RealTime Control Systems, Proc. of Workinprogress Session, 19th Euromicro Conf. on RealTime Systems (ECRTS’07), Pisa, Italy, 2007.
 Xia, F. and Y.X. Sun, ControlScheduling Codesign: A Perspective on Integrating Control and Computing, Dynamics of Continuous, Discrete and Impulsive Systems  Series B: Applications and Algorithms, Special Issue on ICSCA’06, vol.13, no.S1, pp. 13521358, 2006.
 Xia, F., Feedback Scheduling of RealTime Control Systems with Resource Constraints, PhD Thesis, Zhejiang University, China, 2006.
 Mu, C., S. Liu and J. Chen, Hardware/Software Integrated Training on Embedded Systems, International Journal of Innovative Computing, Information and Control, vol.2, no.2, pp.457464, 2006.
 Xia, F. and Y.X. Sun, Neural Network Based Feedback Scheduling of Multitasking Control Systems, 9th Int. Conf. on KnowledgeBased Intelligent Information and Engineering Systems (KES), Lecture Notes in Artificial Intelligence, vol. 3682, pp.193199, 2005.
 Xia, F., G.S. Tian and Y.X. Sun, Feedback Scheduling: An EventDriven Paradigm, ACM SIGPLAN Notices, vol.42, no.12, pp.714, Dec. 2007.
 Eker, J., P. Hagander and K.E. Årzén, A feedback scheduler for realtime controller tasks, Control Engineering Practice, vol.8, no.12, pp.13691378, 2000.
 Cervin, A. and P. Alriksson, Optimal OnLine Scheduling of Multiple Control Tasks: A Case Study, Proc. of the 18th Euromicro Conf. on RealTime Systems, Dresden, Germany, 2006.
 Henriksson, D. and A. Cervin, Optimal Online Sampling Period Assignment for RealTime Control Tasks Based on Plant State Information, Proc. of the 44th IEEE Conf. on Decision and Control and European Control Conf., Seville, Spain, 2005.
 Castaé, R., P. MartÍ, M. Velasco, A. Cervin and D. Henriksson, Resource Management for Control Tasks Based on the Transient Dynamics of ClosedLoop Systems, Proc. of the 18th Euromicro Conf. on RealTime Systems (ECRTS’06), Dresden, Germany, 2006.
 Seto, D., J.P. Lehoczky, L. Sha and K.G. Shin, Tradeoff analysis of realtime control performance and schedulability, RealTime Systems, vol.21, pp.199217, 2001.
 Cervin, A., J. Eker, B. Bernhardsson and K.E. Årzén, FeedbackFeedforward Scheduling of Control Tasks, RealTime Systems, vol.23, no.1, pp.2553, 2002.
 Hagan, M.T., H.B. Demuth and M.H. Beale, Neural Network Design, PWS Publishing, USA, 1996.
 Kim, H., J.K. Tan and S. Ishikawa, Automatic Judgment of Spinal Deformity Based on Back Propagation on Neural Network, International Journal of Innovative Computing, Information and Control, vol.2, no.6, pp.12711279, 2006
 Mi, L. and F. Takeda, Analysis on the Robustness of the Pressurebased Individual Identification System Based on Neural Networks, International Journal of Innovative Computing, Information and Control, vol.3, no.1, pp.97110, 2007.
 Fekih, A., H. Xu and F. N. Chowdhury, Neural Networks Based System Identification Techniques for Model Based Fault Detection of Nonlinear Systems, International Journal of Innovative Computing, Information and Control, vol.3, no.5, pp.10731085, 2007.
 Tian, Y. C., Q. Han, D. Levy and M.O. Tad¨¦, Reducing control latency and jitter in realtime control, Asian Journal of Control, vol.8, no.1, pp.7275, 2006.
 Boyd, S. and L. Vandenberghe, Convex Optimization. Cambridge University Press, United Kingdom, 2004.
 Zhu, Z.B., A simple feasible SQP algorithm for inequality constrained optimization, Applied Mathematics and Computation, vol.182, pp.987998, 2006.
 Xia, F., S.B. Li and Y.X. Sun, Neural Network Based Feedback Scheduler for Networked Control System with Flexible Workload, Int. Conf. on Natural Computation (ICNC), Lecture Notes in Computer Science, vol.3611, pp.237246, 2005.
 Ohlin, M., D. Henriksson and A. Cervin, TrueTime 1.4  Reference Manual, Manual, Department of Automatic Control, Lund University, Sweden, 2006.
 Liu, C. and J. Layland, Scheduling Algorithms for Multiprogramming in a Hard RealTime Environment, Journal of the ACM, vol.20, pp.4661, 1973.