Commit de64a17f authored by Nils Vreman's avatar Nils Vreman
Browse files

Fixed EDF hopefully. Not sure but it looks promising

parent c43ae92c
......@@ -3,13 +3,12 @@
## TODO
1. Write "Help" documentation
2. Add schedulability checks
2. Add schedulability checks *Maybe*
## FIXED
1. Fix issue with taskset not arranging correctly when tasks are added before scheduling algorithm is choosen. *FIXED*
2. EDF is implemented poorly. It is wrong when sorting by priority (when time till deadline is equal). *Think it works fine now*
3. Fix Strategy-based priority assignment *- WORKS CORRECTLY?*
4. Make space between buttons on left and the taskset-list. *- FIXED BUT NEEDS REVISITING*
2. Fix Strategy-based priority assignment *FIXED*
3. Make space between buttons on left and the taskset-list. *FIXED*
## SUGGESTIONS
*- Add Task, Change Task, Remove Task på samma rad*
......@@ -27,6 +26,4 @@ Bort med alla 3 knapparna, lägg ett "+"-tecken under den task som är längst n
*- File-menyn ändra till "Save As..." och "Open File..." eller "Open Project...". Ta bort Close, det är redundant*
- Hover-funktion på typ allt i guit där det efter 1 sek dyker upp en liten bubbla som förklarar vad det man hoverar är för något. Användarvänligt
*- Påminnelse ifall man inte vill spara projektet innan man stänger ned programmet, ifall man ändrat något. Detta görs enkelt om du håller reda på states med historik*
......@@ -19,8 +19,9 @@ public class EDF extends QueueStrategy {
// (compares distance to deadline first and then priority)
Comparator<Integer> order =
(Integer i1, Integer i2) -> {
int res = ts.getTask(i1).get().deadline() - time % ts.getTask(i1).get().deadline() -
(ts.getTask(i2).get().deadline() - time % ts.getTask(i2).get().deadline());
int res =
(time / ts.getTask(i1).get().period()) * ts.getTask(i1).get().period() + ts.getTask(i1).get().deadline() - time -
((time / ts.getTask(i2).get().period()) * ts.getTask(i2).get().period() + ts.getTask(i2).get().deadline() - time);
if ( res == 0 ) return i1 - i2;
else return res;
};
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment