Adapting Mode-Switches into the hierarchical scheduling

University essay from Akademin för innovation, design och teknik

Abstract: Mode switches are used to partition the system’s behavior into different modes to reduce the complexity of large embedded systems. Such systems is said to operate in multiple modes where each mode corresponds to a specific application scenario, are called Multi-Mode Systems (MMS). Normally, a different piece of software is executed for each mode. At a specific time, the system can be in one of the predefined modes and is switched from one mode to another upon some condition. A mode switch mechanism (or mode change protocol) is used to transform the system from one mode to another at run-time.In this thesis we have used a hierarchical scheduling framework to implement a multi-mode system, called Multi-Mode Hierarchical Scheduling Framework (MMHSF). A two-level Hierarchical Scheduling Framework (HSF) has already been implemented in an open source real-time operating system, FreeRTOS, to support temporal isolation among real-time components. The main contribution in this thesis is the extension of the HSF with the multi-mode feature with the emphasis of doing minimal changes in the underlying operating system FreeRTOS and its HSF implementation. Our implementation uses fixed-priority preemptive scheduling at both local and global scheduling levels and idling periodic servers. The implementation now supports different modes of the system which can be switched at run-time Each subsystem and task exhibit different timing attributes for different modes, and upon a Mode Change Request (MCR) the task-set and timing interfaces of the whole system (including subsystems and tasks) are changed. A Mode Change Protocol specifies the way to change the system-mode. An application may not only need to change a mode but also a different mode change protocol semantic. For example, the mode change from normal to shutdown can allow all the tasks to be completed before the mode is changed. While changing a mode from normal to emergency may require aborting all the tasks instantly. In our work, both the system mode and the mode change protocol can be changed at run-time. We have implemented three different mode change protocols to switch from one mode to another: the Suspend/resume protocol, Abort protocol and Complete protocol. These protocols increase the flexibility of the system, letting the users to select the way they want to switch to the new mode.The implementation of MMHSF is tested and evaluated on an AVR-based 32 bit board EVK1100 with an AVR32UC3A0512 micro-controller. We have tested the behavior of each mode of the system and for each mode change protocol. We also provide the results for the performance measures of all mode change protocols in the thesis.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)