nikolaradovic85 / rateMonotonicSimulator

MIT License
2 stars 0 forks source link

checkForMissedDeadline #1

Closed ljuboraicevic closed 10 years ago

ljuboraicevic commented 10 years ago

Zar ovo: if(temp.getdAbsolutDeadline()>time)

ne bi trebalo da bude ovo: if (temp.getdAbsolutDeadline() < time)

Koji god skup poslova da zadam, on mi sada kaze not feasible (ili ja nesto gadno gresim). Npr za sledeci skup poslova (phase, period, execution time): t1 (0, 10, 1) t2 (0, 11, 1) t3 (0, 12, 1)

dobijam: NOT FEASIBLE! ( deadline passed at: 1 ) tj izbacuje vec na prvom zavrsetku posla. Koliko se ja razumem, ovaj primer bi trebao da bude vise nego feasible.

nikolaradovic85 commented 10 years ago

Stizu mi obavjestenja sa github-a. U pravu si greska je! Ja kada sam dodao fju samo sam istestirao jedan slucaj na kome je trebalo da pukne, sto se i desilo, nisam dalje provjeravao. Dobro je da nismo pokretali pred trenkicem.

nikolaradovic85 commented 10 years ago

U stvari ne, ovo je bio test, da vidim koliko pazljivo citate kod. Polozio si, al' na granici hard deadline-a. :-)

nikolaradovic85 commented 10 years ago

Ovdje su bila dva baga sakrivena. Prvi je uslov if petlje, gdje smo testirali za deadline<time, a treba deadline<=time, a drugi je vec poznat : for each + list.remove. Za ovaj prvi nisam matematicki dokazao ono sto sam napisao u komentaru, ali bi trebalo da je tako. Sto se tice drugog: kada testira uslov for petlje, to se radi preko iteratora - fja boolean checkForComodification() koja pravi problem kada se izbaci poslednji element iz liste, jer nema sta da testira, jer je iterator bio na tom zadnjem elementu! Izgleda naivno, ali mi se desava drugi put.

PRAVILO: Zabranjeno koriscenje for each + list.add || list.remove !!!