PRV Zadaci - Programiranje u Realnom Vremenu
PRV Zadaci - Programiranje u Realnom Vremenu
PRV Zadaci - Programiranje u Realnom Vremenu
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
end Agent;<br />
protected body Agent is<br />
procedure putItems () is<br />
begin<br />
... -– Randomly select two items and put them on the table<br />
-- by setting two Boolean variables to True<br />
end putItems;<br />
entry takeTobaccoAndPaper () when tobaccoAvailable and paperAvailable is<br />
begin<br />
tobaccoAvailable := False;<br />
paperAvailable := False;<br />
end;<br />
entry takePaperAndMatch () when paperAvailable and matchAvailable is<br />
begin<br />
paperAvailable := False;<br />
matchAvailable := False;<br />
end;<br />
entry takeTobaccoAndMatch () when tobaccoAvailable and matchAvailable is<br />
begin<br />
tobaccoAvailable := False;<br />
matchAvailable := False;<br />
end;<br />
procedure finishedSmoking () is<br />
begin<br />
putItems();<br />
end;<br />
begin<br />
putItems();<br />
end Agent;<br />
task SmokerWithPaper;<br />
task body SmokerWithPaper is<br />
begin<br />
loop<br />
Agent.takeTobaccoAndMatch();<br />
-- Smoke<br />
Agent.finishedSmoking();<br />
end loop;<br />
end SmokerWithPaper;<br />
3. Randevu na jeziku Ada<br />
Posmatra se sistem od tri procesa koji predstavljaju pušače i jednog procesa koji predstavlja agenta.<br />
Svaki pušač ciklično zavija cigaretu i puši je. Za zavijanje cigarete potrebna su tri sastojka: duvan,<br />
papir i šibica. Jedan pušač ima samo duvan, drugi papir, a treći šibice. Agent ima neograničene zalihe<br />
sva tri sastojka. Agent postavlja na sto dva sastojka izabrana slučajno. Pušač koji poseduje treći<br />
potreban sastojak može tada da uzme ova dva, zavije cigaretu i puši. Kada je taj pušač popušio svoju<br />
cigaretu, on javlja agentu da može da postavi nova dva sastojka, a ciklus se potom ponavlja.<br />
Realizovati procese pušača i agenta korišćenjem koncepata procesa i randevua u jeziku Ada.<br />
40