A GA-Based Approach to Dynamic Reconfiguration of Real-Time Systems ∗ Marco A. C. Simões Bahia State University ACSO/UNEB, Brazil msimoes@uneb.br George Lima Federal University of Bahia - LaSiD/UFBA, Brazil gmlima@ufba.br Eduardo Camponogara Federal University of Santa Catarina (DAS/UFSC), Brazil camponog@das.ufsc.br Abstract Modern real-time systems have become increasingly complex since they have been required to operate in modern architectures and environments with high level of temporal uncertainty, where the actual execution demand is deter- mined only during execution and is valid only for a given period of time. Thus such systems require both temporal isolation and dynamic reconfiguration. In this paper we deal with both these requirements. By assuming that the system is structured such that there are several modes of operation to be chosen at runtime, we formulate a reconfig- uration problem. Temporal isolation is ensured by CBS. A solution to the reconfiguration problem is based on Genetic Algorithms, which provide the graceful adaption of the sys- tem so that it copes with new demands of the environment. The proposed solution is evaluated by simulation and the results found show the suitability of the approach. 1 Introduction The design of real-time systems has become increas- ingly complex. Modern hardware and software architec- tures and/or the support to open environments, for exam- ple, make it difficult or even impossible to estimate task worst-case execution times accurately [13]. A usual way of dealing with this problem is by providing temporal iso- lation in the system. Indeed, if a certain task runs more than what was expected, the effect of this timing fault should not propagate to other application tasks. There are several ap- proaches to temporal isolation and for EDF-scheduled sys- tems the Constant Bandwidth Server (CBS) has received special attention recently [1, 9, 5, 4]. Although temporal isolation is an important aspect, for certain kinds of modern applications, the system should also provide support for dynamic reconfiguration. Indeed, mod- ern systems may be structured so that their tasks have one or * This work is funded by CNPq (grant number: 475851/2006-4) and CAPES/PROCAD (AST project) more modes of operation. For example, a control task can execute one among several control functions and/or with one among several sampling periods previously set. In other words, a task that has more than one operation mode may have alternative pieces of code to execute or alternative re- lease periods. Assuming that each operation mode gives a different benefit for the system, the problem is then to se- lect, at runtime, the set of task modes that maximizes the system benefit subject to the system schedulability. Applications such as autonomous mobile robots, which embed several complex functions into off-the-shelf com- plex hardware components, are among those that require support to both temporal isolation and dynamic reconfigu- ration. For example, the robot computer vision subsystem may experiment different operational modes due to environ- ment changes. Light conditions, obstacles, vision angle and other unpredictable environmental characteristics may gen- erate strong variation on execution times of vision subsys- tem tasks. Also, modifications in the robot goals during its lifetime may well require dynamic reconfiguration. Further timing faults in one of the system components, even dur- ing reconfiguration, should not jeopardize the system per- formance as a whole. Some approaches to dynamic reconfiguration have been proposed. For example, Feedback Scheduling (FS) [11], based on control theory, treats the system scheduling as a control plant and uses a controller to adjust the scheduling parameters at runtime. This approach offers no temporal isolation. FS-CBS [14] uses FS. It is assumed that the sys- tem is composed of Model Predictive Control (MPC) tasks served by CBS. Although this approach provides temporal isolation, its applicability is restricted to MPC tasks. Fur- ther, FS-CBS does not deal with reconfiguration of server periods. Other approaches aim at providing server capacity sharing mechanisms [4, 5, 9]. However, they do not provide dynamic reconfiguration. If a system has no idle time, for example, there is no slack time to be shared. In this paper we deal with dynamic reconfiguration in a new and challenging scenario, as will be seen in Section 2. Temporal isolation is ensured by the use of CBS. Differ-