Project / 02
Systems Programming / Research Implementation / Late 2025
POFP Scheduler
A tested Python implementation of preference oriented fixed priority scheduling.
This project implements the 2016 paper 'Preference-Oriented Fixed-Priority Scheduling for Periodic Real-Time Tasks.' It covers periodic tasks that can be scheduled as early as possible or as late as possible.
Explore the repositoryHow it works
- 01tasks
- 02preferences
- 03priority
- 04schedule
- 05validation
What is included
This page covers a focused implementation of the paper. It is not a production operating system scheduler. It shows how I represented tasks, preferences, priority rules, and test cases in Python.
- E1The source paper and scheduling model are identified directly in the project.
- E2ASAP and ALAP execution preferences are represented as inputs.
- E3Representative scheduling cases are used to validate the implementation's behaviour.
The challenge
What the project needed to do.
The paper defines scheduling behaviour in compact mathematical terms. I had to represent ASAP and ALAP preferences, priority assignment, and the POFP rules as Python steps without changing their meaning.
How I built it
Break the work into small, testable steps.
01
Represented the paper's task and preference concepts with Python data structures.
02
Implemented preference priority assignment before the fixed priority scheduling model.
03
Kept each scheduling step separate so its output could be checked against the paper.
04
Tested the implementation with representative scheduling cases.
Result
What I finished.
The Python implementation runs the paper's scheduling model and shows how ASAP and ALAP preferences affect priority decisions. Tests cover representative scheduling cases.
What I learned
This project taught me to turn dense specifications into data structures, rules, and tests.