12.11.2014 Views

PRV Zadaci - Programiranje u Realnom Vremenu

PRV Zadaci - Programiranje u Realnom Vremenu

PRV Zadaci - Programiranje u Realnom Vremenu

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!