Title: Object-Oriented Design and Implementation of the OE-Scheduler in Real-time Environments
1Object-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
2Outline
- Introduction
- Motivation and Objective
- UML Diagram for OE-Scheduler
- Implementation for OE-Scheduler
- Conclusion
- Future Work
3Introduction
- Real-Time System
- Periodic Task Model
- Object Oriented Design
- OE-Scheduler
4Real-Time System
- Computing system with a set of execution models
that have timing constraints - Hard Real-Time System
- Soft Real-Time System
5Hard Real-Time System
6Soft Real-Time System
7Periodic Task Model
- A sequence of the same type of event occurring at
constant intervals - Task scheduling entity
- Event recurring instance of scheduling entity
8Object Oriented Design
- Problems are modeled using objects
- The object-oriented approach has the potential to
reduce complexity, improve flexibility, and
reduce expenses - Object reusability
9OE-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
10Motivation
- 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
11Objective
- 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
12UML Diagram for OE-Scheduler
- Class Diagram for OE-Scheduler
- Sequence Diagram to Produce a OE-Schedule
13Class Diagram for OE-Scheduler
14Sequence Diagram to Produce a OE-Schedule
15Implementation for OE-Scheduler
- Scheduling algorithm for OE-Scheduler
- Test result of the object-oriented OE-Scheduler
- Comparison table
16Scheduling Algorithm for OE-Scheduler
- Step1. If Pij i 1..n, j 0..n arrives the
system at the same time, pick the highest
priority event of Pij i 1..n, j 0..n.
Determine the Current Request Period (CRP) of the
selected event.
17Scheduling 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
18Scheduling 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
19Scheduling Algorithm for OE-Scheduler
20Test 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
21Record Structure of the Periodic Task Workload
22Workload File OE-schedule.txt
23Menu-based User Interface
24The Scheduling Points with CRP
25Schedule for 4 Periodic Task by OE-Scheduler
26Schedule for 4 periodic task by OE-Scheduler
27Comparison Table
28Conclusion
- 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
29Future Work
- Extend our scheduling algorithms to distributed
and multiprocessor environments