Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments Ilhyun Lee Cherry K. Owen Haesun K. Lee The University of Texas of the Permian Basin
Outline Introduction Motivation and Objective UML Diagram for OE-Scheduler Implementation for OE-Scheduler Conclusion Future Work
Introduction Real-Time System Periodic Task Model Object Oriented Design OE-Scheduler
Real-Time System Computing system with a set of execution models that have timing constraints Hard Real-Time System Soft Real-Time System
Hard Real-Time System
Soft Real-Time System
Periodic Task Model A sequence of the same type of event occurring at constant intervals Task :scheduling entity Event :recurring instance of scheduling entity
Object Oriented Design Problems are modeled using objects The object-oriented approach has the potential to reduce complexity, improve flexibility, and reduce expenses Object reusability
OE-Scheduler Scheduler that generates a schedule of periodic tasks by the principle of eliminating unnecessary context switches under the rate monotonic algorithm Guarantee the hard deadlines of an arbitrary number of periodic tasks in hard real-time environments Object-oriented design
Motivation Future real-time system will run in highly dynamic behavior environments Current our procedural scheduling algorithms cannot be efficiently applied to future real- time system This observation motivated us to work on developing an object-oriented view-point of the OE-scheduler in hard real-periodic environments
Objective Developing an object-oriented view-point of the OE-scheduler that generates a schedule of periodic tasks by the principle of eliminating unnecessary context switches under the rate monotonic algorithm in hard real-periodic environments
UML Diagram for OE-Scheduler Class Diagram for OE-Scheduler Sequence Diagram to Produce a OE- Schedule
Class Diagram for OE-Scheduler
Sequence Diagram to Produce a OE-Schedule
Implementation for OE-Scheduler Scheduling algorithm for OE-Scheduler Test result of the object-oriented OE- Scheduler Comparison table
Scheduling Algorithm for OE- Scheduler Step1. If P ij {i: 1..n, j: 0..n} arrives the system at the same time, pick the highest priority event of P ij {i: 1..n, j: 0..n}. Determine the Current Request Period (CRP) of the selected event.
Scheduling Algorithm for OE- Scheduler Step2. If the CRP of the selected event is odd, then go to Step3. Otherwise, if the CRP of the selected event is even, then calculate the Slack, the maximum amount of time that a scheduler can delay running the task without missing its current deadline, for the selected event. Delay the execution of the selected event until the Slack of the selected event becomes empty. When the Slack of the selected event becomes empty, schedule the selected event under the Rate Monotonic Algorithm. Go to Step4
Scheduling Algorithm for OE- Scheduler Step3. Immediately schedule the selected event under the Rate Monotonic Algorithm. Step4. Go to Step1 until the final event is processed
Scheduling Algorithm for OE- Scheduler
Test Result of the Object-oriented OE-Scheduler Record structure of the periodic task Workload file: OE-schedule.txt Menu-based user interface The scheduling points with CRP Schedule for 4 periodic task by OE- Scheduler
Record Structure of the Periodic Task Workload
Workload File: OE-schedule.txt
Menu-based User Interface
The Scheduling Points with CRP
Schedule for 4 Periodic Task by OE-Scheduler
Schedule for 4 periodic task by OE-Scheduler
Comparison Table
Conclusion A study of dynamic behavior property in hard real- time environments Robust design facilitates easier extension of the system to include more dynamic environments Provide the real-time system engineers with greater flexibility to design future real-time systems Helping the designer of real-time operating systems
Future Work Extend our scheduling algorithms to distributed and multiprocessor environments